[英]How do I convert a date from Unix time to string, in a script?
要將日期從字符串轉換為Unix時間,我可以使用date --date "2012-02-13" +%s
。
從Unix時間到字符串,我該怎么做?
你可以使用date --date @datetime
:
[foo@bar ~]$date --date "2012-02-13" +%s
1329055200
[foo@bar ~]$date --date @1329055200
Mon Feb 13 00:00:00 EST 2012
[foo@bar ~]$date --date @1329055200 +"%Y-%m-%d"
2012-02-13
我不知道'@xxxx'在哪里被記錄了!
date
命令的選項取決於您的操作系統。
在FreeBSD中:
[ghoti@pc ~]$ date -r 1332468005 '+%Y-%m-%d %T'
2012-03-22 22:00:05
在Linux中:
ghoti@wopr$ date -d @1332468005 '+%Y-%m-%d %H:%M:%S'
2012-03-22 22:00:05
在其他操作系統中,我不知道。
如果您想要一個不依賴於date
命令的解決方案,可以使用perl或gawk,如果它們恰好安裝在您正在使用的計算機上。
ghoti@wopr$ gawk -v when=1332468005 'BEGIN{ print strftime("%Y-%m-%d %T", when); }'
2012-03-22 22:00:05
使用--date=@
選項傳遞Unix時間戳,並根據所需的輸出使用格式。
$ date --date "2012-02-13" +%s
1329062400
$ date --date=@1329062400 +%F
2012-02-13
它可以通過awk
完成:
$ date --date "2012-02-13" +%s | awk '{ print strftime("%Y-%m-%d", $1); }'
2012-02-13
或任何其他提供strftime()
接口的工具
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.