busyboxの日付コマンドは、フォーマットされた入力日付を受け入れません。

busyboxの日付コマンドは、フォーマットされた入力日付を受け入れません。

datebusyboxコマンド(BusyBox v1.21.0)を使用して日付を設定したいと思います。マイコンピュータに設定するカスタム日付は、次の形式です。

Tue, 15 Jan 2019 10:46:13 GMT

私のdateコマンドは、次の文字列を使用して同じ形式で日付を印刷できます。

date +"%a, %d %b %Y %T %Z"

上記と同じ形式で日付を返します。ただし、-sオプションを使用して日付を設定すると、これは許可されません。

たとえば、次は失敗します。

date -u +"%a, %d %b %Y %T %Z" -s "Wed, 17 Feb 2010 19:14:32 UTC"
date: invalid date 'Wed, 17 Feb 2010 19:14:32 UTC'

私はbusyboxコマンドの機能が縮小されていることを知っていますが、フォーマット文字列を処理して現在の日付を希望の形式に印刷できますが、それを使用して入力文字列を解釈できる必要があると思います。

ベストアンサー1

busyboxは、date任意の時間形式ではなく、非常に具体的な時間形式のみを受け入れます。

$ busybox date --help
[...]
    [-s,--set] TIME Set time to TIME
[...]
Recognized TIME formats:
    hh:mm[:ss]
    [YYYY.]MM.DD-hh:mm[:ss]
    YYYY-MM-DD hh:mm[:ss]
    [[[[[YY]YY]MM]DD]hh]mm[.ss]
    'date TIME' form accepts MMDDhhmm[[YY]YY][.ss] instead

date -s 2010.02.17-19:14:32したがって、次のように(または希望の形式で)作成するだけです。

おすすめ記事