我正在使用bash
4.1。我正在使用字母来分隔要由date
转换的日期字符串的日期和时间字段。看来每个字母都会在指定的时间内添加一个不同的值(从-5到+18)。但请注意,J
会导致错误。在man
或info
页面中找不到此行为的解释。有人能够启发我吗?日期字符串中的字母分隔符是什么(除了分隔符)?
$ date -d 2014-01-01A00:00:00
Tue Dec 31 19:00:00 CST 2013
$ date -d 2014-01-01B00:00:00
Tue Dec 31 20:00:00 CST 2013
$ date -d 2014-01-01C00:00:00
Tue Dec 31 21:00:00 CST 2013
$ date -d 2014-01-01D00:00:00
Tue Dec 31 22:00:00 CST 2013
$ date -d 2014-01-01E00:00:00
Tue Dec 31 23:00:00 CST 2013
$ date -d 2014-01-01F00:00:00
Wed Jan 1 00:00:00 CST 2014
$ date -d 2014-01-01G00:00:00
Wed Jan 1 01:00:00 CST 2014
$ date -d 2014-01-01H00:00:00
Wed Jan 1 02:00:00 CST 2014
$ date -d 2014-01-01I00:00:00
Wed Jan 1 03:00:00 CST 2014
$ date -d 2014-01-01J00:00:00
date: invalid date `2014-01-01J00:00:00'
$ date -d 2014-01-01K00:00:00
Wed Jan 1 04:00:00 CST 2014
$ date -d 2014-01-01L00:00:00
Wed Jan 1 05:00:00 CST 2014
$ date -d 2014-01-01M00:00:00
Wed Jan 1 06:00:00 CST 2014
$ date -d 2014-01-01N00:00:00
Tue Dec 31 17:00:00 CST 2013
$ date -d 2014-01-01O00:00:00
Tue Dec 31 16:00:00 CST 2013
$ date -d 2014-01-01P00:00:00
Tue Dec 31 15:00:00 CST 2013
$ date -d 2014-01-01Q00:00:00
Tue Dec 31 14:00:00 CST 2013
$ date -d 2014-01-01R00:00:00
Tue Dec 31 13:00:00 CST 2013
$ date -d 2014-01-01S00:00:00
Tue Dec 31 12:00:00 CST 2013
$ date -d 2014-01-01T00:00:00
Tue Dec 31 11:00:00 CST 2013
$ date -d 2014-01-01U00:00:00
Tue Dec 31 10:00:00 CST 2013
$ date -d 2014-01-01V00:00:00
Tue Dec 31 09:00:00 CST 2013
$ date -d 2014-01-01W00:00:00
Tue Dec 31 08:00:00 CST 2013
$ date -d 2014-01-01X00:00:00
Tue Dec 31 07:00:00 CST 2013
$ date -d 2014-01-01Y00:00:00
Tue Dec 31 06:00:00 CST 2013
$ date -d 2014-01-01Z00:00:00
Tue Dec 31 18:00:00 CST 2013
时区最有可能 – Brian
@GIJoe它似乎并不涉及'TZ'。挖掘资源是值得的。 – devnull
@CPRitter一旦有人修复了它,就不会搞乱格式化。 – devnull