我正在使用bash4.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
Run Code Online (Sandbox Code Playgroud)
查看按相关时间排序的字母:
YXWVUTSRQPON Z ABCDEFGHIKLM
Run Code Online (Sandbox Code Playgroud)
我强调,Z因为这是(在你的例子中)Wed Jan 1 00:00:00 GMT 2014.AM代表时区西(晚)比GMT,NY时区东(后).所以你得到格林尼治标准时间,东部12个时区和西部12个时区,这就是25个J恰好是那个被遗漏的字母,无论出于什么原因.