Ubuntu Mate 20.04では、いくつかの将来の日付を新起源番号に変換しようとしています。
だから私は次のようなコードを書くことにしました。
daysAmount="10"
endDate=$(date +"%b %_d %Y" -d "+$daysAmount days")
epochNum=$(date -d "$endDate" +%s)
最初の2行はうまく実行されますが、情報は得られませんepochNum=
。
$(date)
私のように他の変数を使ってもいいですか?そうでなければ、どうすればこれを行うことができますか?
私もそれを試しましたが、endDate=$(date +"%b %_d %Y" -d "+$daysAmount days" +%s)
それも動作しませんでした。
答え1
一時ロケールを使用してコマンドを実行できます。これにより問題が解決します。
daysAmount="10"
endDate=$(LC_ALL=C date +"%b %_d %Y" -d "+$daysAmount days")
epochNum=$(LC_ALL=C date -d "$endDate" +%s)
答え2
それが動作するようにしてください。
エポックに変換する前に、日付の言語を確認してください。インストール名がここの "date" コマンドの例のように米国のアルファベットと異なる場合:
1.11.2021 (пн) 14:47:59 EET
変換は機能しません。
他のコンピュータでは、「日付」が次のように表示されます(アメリカのアルファベット)。
Mon Nov 1 14:47:45 EET 2021
コードがうまく動作します。
さまざまな言語マシンでの作業例については、以下を参照してください。 https://unix.stackexchange.com/a/675661/499362