[英]Addition to a Date in bash script
我想在約會時間增加1小時。 所以我嘗試了-
date -u -d "2019-02-22 05:21:22 + 1 hour" +"%F %T"
我得到了這個作為輸出-
2019-02-22 05:21:22
沒有幾個小時了。 所以我在約會上玩了一些-
date -u -d "2019-02-22 05:21:22 + 12 hours" +"%F %T"
> 2019-02-21 18:21:22
date -u -d "2019-02-22 05:21:22 - 12 hours" +"%F %T"
> 2019-02-22 18:21:22
date -u -d "2019-02-22 05:21:22 + 1 minutes" +"%F %T"
> 2019-02-22 04:22:22
date -u -d "2019-02-22 05:21:22 + 1 day" +"%F %T"
> 2019-02-23 04:21:22
每個命令的輸出是如此混亂。 我無法弄清楚如何增加小時數或到目前為止的任何其他時間。
我在線搜索了如何使用date命令,並瀏覽了一些帖子-
大部分來自上方的內容以及其他我擁有的格式都與我嘗試使用的日期添加格式相同,但對我而言卻不可行。
因此,我希望對了解如何增加小時/分鍾/天或迄今為止的任何其他時間單位以及我做錯了什么有幫助。
解析日期時間算法很困難。 鑒於:
date -u -d "2019-02-22 05:21:22 + 1 hour" +"%F %T"
日期05:21:22 + 1 hour
這部分05:21:22 + 1 hour
的意思是05:21:22 + 1 hour
05:21:22+0100 hour
, 然后它被解釋為05:21:22 + 1 hour
05:21:22+0100 +1 hour
。 參考: https : //www.gnu.org/software/coreutils/manual/html_node/Date-input-formats.html
您可以通過將相對時間放在另一個位置來幫助解決歧義:
# ............vvvvvvvv
$ date -u -d "+ 1 hour 2019-02-22 05:21:22" +"%F %T"
2019-02-22 06:21:22
# .........^^
# .......................vvvvvvvv
$ date -u -d "2019-02-22 + 1 hour 05:21:22" +"%F %T"
2019-02-22 06:21:22
# .........^^
# ................................vvvvvvvv
$ date -u -d "2019-02-22 05:21:22 + 1 hour" +"%F %T"
2019-02-22 05:21:22
# .........^^
或者,您自己指定一個時區
# ...............................v
$ date -u -d "2019-02-22 05:21:22Z + 1 hour" +"%F %T"
2019-02-22 06:21:22
# .........^^
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.