簡體   English   中英

如何在腳本中將日期從Unix時間轉換為字符串?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM