用date命令输出timestamp

经常在写一些脚本时,需要在输出中打一些timestamp,却苦于不知如何格式化timestamp,在网上收集了一些利用date命令输出timestamp格式的方法。

YYYY-MM-DD_hh:mm:ss date +%F_%T 2018-07-30_17:38:48
YYYYMMDD_hhmmss date +%Y%m%d_%H%M%S 20180730_173848
YYYYMMDD_hhmmss (UTC version) date --utc +%Y%m%d_%H%M%SZ 20180730_073848Z
YYYYMMDD_hhmmss (with local TZ) date +%Y%m%d_%H%M%S%Z 20180730_173848AEST
YYYYMMSShhmmss date +%Y%m%d%H%M%S 20180730173848
YYYYMMSShhmmssnnnnnnnnn date +%Y%m%d%H%M%S%N 20180730173848489146493
YYMMDD_hhmmss date +%y%m%d_%H%M%S 180730_173848
Seconds since UNIX epoch: date +%s 1532936328
Nanoseconds only: date +%N 490710955
Nanoseconds since UNIX epoch: date +%s%N 1532936328491188547
ISO8601 UTC timestamp date --utc +%FT%TZ 2018-07-30T07:38:48Z
ISO8601 UTC timestamp + ms date --utc +%FT%T.%3NZ 2018-07-30T07:38:48.492Z
ISO8601 Local TZ timestamp date +%FT%T%Z 2018-07-30T17:38:48AEST
YYYY-MM-DD (Short day) date +%F(%a) 2018-07-30(Mon)
YYYY-MM-DD (Long day) date +%F(%A) 2018-07-30(Monday)
  • :的不适合作为文件名,需要转义
  • 最后两条括号里的文字依赖于系统环境变量LANG,比如设置LANG=ja_JP会打印2018-07-30(月)2018-07-30(月曜日)

你可能感兴趣的:(bash)