date參數說明
-d, --date=STRING
顯示字元串指定的時間,并非目前時間
其他參數通過下面的執行個體就可以看出其用法了
比如:%Y 2010 (年份,四位)
%m 月份
%d 日期
+%Y-%m-%d 相當與%F
%H:%M:%S 時(24小時格式):分:秒,相當與%T
%I:%M:%S 時(12小時格式):分:秒
其他還有很多參數,可以man date檢視。
- # echo $LANG
- en_US
- # date -d "2010-11-01 00:00:00" +%s
- 1288540800
- # date -d "2010-11-01 00:00:00" +%Y-%m-%d" "%H:%M:%S
- 2010-11-01 00:00:00
- # date -d "2010-11-01 00:00:00" +%Y-%m-%d" "%T
- 2010-11-01 00:00:00
- # date -d "2010-11-01 00:00:00" +%F" "%T
# 需要注意的一點:環境LANG的值,中文字元編碼的情況
# 請看下面的例子:
# 英文環境下,Mon Nov 1 00:00:00 CST 2010這樣的字元可以直接進行轉換
- # export LANG=en_US
- # echo $LANG
- en_US
- # date -d @1288540800
- Mon Nov 1 00:00:00 CST 2010
- # date -d "Mon Nov 1 00:00:00 CST 2010" +%Y-%m-%d" "%H:%M:%S
- 2010-11-01 00:00:00
- # date -d "Mon Nov 1 00:00:00 CST 2010" +%F" "%T
- 2010-11-01 00:00:00
- # date -d "Mon Nov 1 00:00:00 CST 2010" +%F
- 2010-11-01
# 中文環境下,2010年 11月 01日 星期一 00:00:00 CST這樣的字元不能直接進行轉換,需要注意!!!
- # export LANG=zh_CN.utf8
- # echo $LANG
- zh_CN.utf8
- # date -d @1288540800
- 2010年 11月 01日 星期一 00:00:00 CST
下面的做法是不能得到預期的,對比一下就可以看到了:
- # date +%F
- 2011-11-01
- # date -d "Mon Nov 1 00:00:00 CST 2010" +%F
- 2010-11-01
- # date -d "2010年 11月 01日 星期一 00:00:00 CST" +%F
- 2011-11-01
參考http://yangqijun.iteye.com/blog/1150411