秒级时间戳:
$ echo $(date +%s)
1681983716
毫秒/微秒/纳秒 时间戳:
$ date +%s%3N
1681984600895
$ date +%s%6N
1681984779486536
$ date +%s%9N
1681984840382296459
可以把命令保存到一个shell脚本中方便后续使用
#!/usr/bin/env bash
show_help() {
cat <<EOT
Usage:
timestamp [options]
Show current unix timestamp, the duration since 1970-01-01 00:00:00 UTC, default in seconds
Options:
-s Timestamp in seconds
-m, --ms Timestamp in milliseconds
-u, --us Timestamp in microseconds
-n, --ns Timestamp in nanoseconds
EOT
}
if [ $# -lt 1 ]; then
date +%s
exit 0
fi
case $1 in
-s)
date +%s
;;
-m|--ms)
date +%s%3N
;;
-u|--us)
date +%s%6N
;;
-n|--ns)
date +%s%9N
;;
*)
printf "invalid option: %s\n" "$1" >&2
show_help
exit 1
;;
esac
Example:
$ chmod +x timestamp.sh
$ ./timestamp.sh
1681988240
$ ./timestamp.sh -m
1681988247134
$ ./timestamp.sh --us
1681988251839104
$ ./timestamp.sh --ns
1681988254563233455