Date
一個系統上的無效日期;在另一個系統上完全有效?
我的程式碼需要一個開始時間,然後從該開始時間定義一些其他日期/時間變數。像這樣:
shour=$(date -d "yesterday 3PM" -u) dd=$(date "+%d" -d "$shour" -u) sdate=$(date "+%Y%m%d" -d "$shour" -u)
這返回;
date: invalid date 'Thu 16 Jan 15:00:00 UTC 2020' date: invalid date 'Thu 16 Jan 15:00:00 UTC 2020'
把我的頭髮拉出來!
date
無法讀取預設輸出Thu 16 Jan 15:00:00 UTC 2020
date
您想要再次處理的任何輸出都date
需要使用格式字元串格式化輸出'+%F %T'
。
我認為今年的位置可能是問題所在。雖然這失敗了:
host:~ # date -d 'Thu 16 Jan 15:00:00 UTC 2020' date: invalid date ‘Thu 16 Jan 15:00:00 UTC 2020
這適用於我的虛擬機:
host:~ # date -d 'Thu 16 Jan 2020 15:00:00 UTC' Thu Jan 16 16:00:00 CET 2020
我在第一個語句中添加了日期格式,這似乎有效:
shour=$(date "+%Y%m%d" -d "yesterday 3PM" -u) ddate="$(date -d "${shour}" -u)" sdate=$(date "+%Y%m%d" -d "$shour" -u)