現在時刻を確認し、それを1日の経過時間(秒)に変換するにはどうすればよいですか?

現在時刻を確認し、それを1日の経過時間(秒)に変換するにはどうすればよいですか?

現在時刻を確認し、1日の経過した秒に変換する方法を尋ねたいです。

実は今から真夜中までの時間を秒単位で表示したいです。 1 日の合計秒数は 86400 なので、86400 から現在時刻 (その日以降に経過した秒単位) を減算します。

編集する:

これは実用的な問題です。それができなければ、どのようにdate -d私たちのコーチがそのような質問をすることができます。たぶん方法があるかもしれません。誰もがこの問題を理解しています。秒を引く方法が異なります。

ここに画像の説明を入力してください。

ベストアンサー1

dateGNU日付(またはそれを理解し、うまく機能する他のプログラム)があるとし、次を使用します。-dbash

この-dフラグを使用して、さまざまなポイントの時間を報告できます。例えば

% date -d "00:00:00 tomorrow"
Sat Jul 16 00:00:00 EDT 2016

これを使用して秒を報告できます。+%s

% date -d "00:00:00 tomorrow" +%s
1468641600

現在の時間を秒単位で知ることができます。

% date +%s                       
1468633682

したがって、差を計算することができます。

% secs_left=$(( $(date -d "00:00:00 tomorrow" +%s) - $(date +%s) ))
% echo $secs_left
7871

(これはほぼ正確です。7871秒は2時間11分11秒で、これはコマンドを実行したときに正確でした。)

csh要求に応じて編集:

csh同様のコマンドでは、次のようになります。

% @ secs_left = ( `date -d "00:00:00 tomorrow" +%s` - `date +%s` )
% echo $secs_left
7871

おすすめ記事