秒级时间戳:
$ 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
该文章介绍了一个Unix时间戳的Shell脚本,可以显示当前时间的秒、毫秒、微秒和纳秒级别的时间戳。用户可以通过命令行选项选择不同精度的时间戳输出。脚本提供了帮助信息和错误处理,便于使用。

8222

被折叠的 条评论
为什么被折叠?



