次の形式の時間が欲しい
2020-10-12 10:41:42,526
それを行う方法。試してみましたが、間違っているようです。
date +"%Y-%m-%d %H:%M:%S,%N"
答え1
3桁ではなく9桁が表示されるのが唯一の問題である場合は、%N
表示したい桁数を前に追加して問題を解決できます。%3N
$ date +"%Y-%m-%d %H:%M:%S,%3N"
2020-10-12 09:52:19,931
答え2
これは、現在時刻の1秒未満の部分(9桁に0が追加された)を提供する%N
GNU拡張です。ミリ秒を取得するには、次の手順を実行します。date
N
date '+%F %T,%3N'
作成中のzshスクリプトの場合は、組み込みstrftime
スクリプトを使用して移植できます。
zmodload zsh/datetime
strftime '%F %T,%3.'
不足:
zmodload zsh/datetime
strftime '%F %T,%3.' $epochtime
または、基数文字をユーザーの基数文字のままにします(そうでないと仮定します%
が、基数文字があるロケールを知りません%
)。
zmodload zsh/datetime
zmodload zsh/langinfo
strftime "%F %T${langinfo[RADIXCHAR]}%3."
ksh93スクリプトの場合は、printf
組み込みスクリプトを使用してそのタスクを実行できます。
printf '%(%F %T,%3N)T\n'
不足:
printf '%(%F %T,%3N)T\n' now
または、ユーザーの基数文字を使用します(再度ではないと仮定%
)。
radixchar=$((1e-1))
radixchar=${radixchar//[0123456789]}
printf "%(%F %T${radixchar}%3N)T\n"