12

date コマンドを使用して表示される方法ではなく、午前または午後で時刻を表示するシェル スクリプトを作成しようとしています。どうすればいいのかわかりません。まず、日付コマンドから時間を抽出して操作するにはどうすればよいでしょうか。また、時間の数値を抽出して操作するにはどうすればよいですか?

4

7 に答える 7

12

あなたが探しているのは

man strftime

これは、を使用する形式であるstring-format-timeの略ですdate

したがって、現在のAM / PMを取得するには、次を使用します。

date +"%p"

また

ampm=`date +"%p"`
echo $ampm

時間は、いくつかの形式の1つにすることができます(12時間または24時間、先行ゼロかどうか)。非先行ゼロの12時間時間が必要だと思います。

date +"%l"
于 2013-02-24T21:07:56.633 に答える
9

以下の 1 つを使用して、AM および PM 形式で最大分まで時刻を印刷できます。

echo $(date  +"%I:%M %p")

出力: 09:20 PM

また

echo $(date  +"%r")

出力: 09:20:09 PM

または echo $(date +"%I %p")

出力: 午後 9 時

于 2015-02-23T03:09:20.810 に答える
3

dateコマンドを使用して表示される方法ではなく

このdateコマンドはフォーマット文字列を取ります。%p指定すると、指定された時刻の値に応じて「AM」または「PM」のいずれかが表示されるか、現在のロケールに対応する文字列が表示されます。正午は「PM」、真夜中は「AM」として扱われます。

% date +'%H:%M %p'
08:01 am

「ボンネットの下」、これはstrftime(). その他の書式設定オプションについては、man ページを参照してください。

于 2013-02-24T21:03:03.097 に答える
1

date コマンドの「+」フォーマット オプションを使用できます。例えば:

 > date +%l%p
-> 7PM
于 2013-02-24T21:02:59.603 に答える