Bash: date format as HTML5 datetime
HTML5需要rfc339编译,因此,如果您使用的是日期的GNU版本,那么--rfc-3339扩展将打印您想要的内容
1 2 | antonio@localhost:~$ date --rfc-3339=seconds 2012-07-14 12:57:14+08:00 |
如果您在Mac上或没有GNU版本,那么:
1 2 | [13:00] antonio@chimera:~>date +%FT%T%z 2012-07-14T13:01:35+0800 |
很近,但没有雪茄,因为时区部分缺少":",因此,如果您不想通过sed、cut、etcetera传输数据,您可以通过询问日期来输出UTC时间,然后手动添加时区部分(显然,UTC时间偏移是00:00,因此这将始终有效)
1 2 | [13:01] antonio@chimera:~>date -u '+%FT%T+00:00' 2012-07-14T05:01:59+00:00 |
1 2 | $ date +%FT%T%z 2012-07-14T00:42:52-0400 |
我不知道如何在不使用字符串操作的情况下获得时区偏移量中的冒号。
1 2 3 | $ datetime=`date +%FT%T%z` $ printf ${datetime:0:${#datetime}-2}:${datetime:${#datetime}-2} 2012-07-14T00:42:52-04:00 |