2つのtime.Timeオブジェクトの差分
2023-11-15 07:19:09
質問
Go'sの初心者です。質問は基本的なことかもしれません。
2つのtime.Timeオブジェクトがあり、時間/分/秒の単位で2つの差を取得したいのです。と言ってみましょう。
t1 = 2016-09-09 19:09:16 +0530 IST
t2 = 2016-09-09 19:09:16 +0530 IST
上記の場合、差は0なので、00:00:00と表示されるはずです。別のケースを考えてみましょう。
t1 = 2016-09-14 14:12:48 +0530 IST
t2 = 2016-09-14 14:18:29 +0530 IST
この場合、差は00:05:41となります。を見てみると https://godoc.org/time を見ましたが、何もわかりませんでした。
どのように解決するのですか?
あなたは
Time.Sub()
の差を取るために、2つの
time.Time
の値の差を求めると、結果は
time.Duration
.
印刷されるとき
time.Duration
は自分自身を "intelligently"フォーマットします。
t1 := time.Now()
t2 := t1.Add(time.Second * 341)
fmt.Println(t1)
fmt.Println(t2)
diff := t2.Sub(t1)
fmt.Println(diff)
出力します。
2009-11-10 23:00:00 +0000 UTC
2009-11-10 23:05:41 +0000 UTC
5m41s
時刻の書式が必要な場合
HH:mm:ss
にしたい場合は
time.Time
の値を作り、その
Time.Format()
のようなメソッドを使用します。
out := time.Time{}.Add(diff)
fmt.Println(out.Format("15:04:05"))
出力します。
00:05:41
の例を試してみてください。 囲碁の遊び場 .
もちろん、これは時差が1日未満の場合にのみ機能します。もし差がもっと大きいかもしれないなら、それは別の話です。結果は、日、月、年を含む必要があります。複雑さが大幅に増します。詳細については、この質問を参照してください。
golang time.Since() with months and years
そこで紹介されている解決策は、シグネチャを持つ関数を表示することでこの問題を解決しています。
func diff(a, b time.Time) (year, month, day, hour, min, sec int)
時刻が24時間以内であっても使用できます(その場合
year
,
month
と
day
となるのは
0
).
関連
-
[解決済み] JavaScriptで2つの日付を比較する
-
[解決済み] 2つの日付範囲が重なっているかどうかを判定する
-
[解決済み] 2つの日付の間の日数を求める
-
[解決済み] Pythonのtime.time()はローカルタイムスタンプとUTCタイムスタンプのどちらを返すのでしょうか?
-
[解決済み] 2 つの日付の間にあるオブジェクトを検索する MongoDB
-
[解決済み] Pythonで2つのdatetimeオブジェクト間の時間差を見つけるにはどうすればよいですか?
-
[解決済み] Java 8: 2つのLocalDateTimeの複数単位での差分
-
[解決済み] PHPを使用して2つの日付の差を計算する方法は?
-
[解決済み] 日数だけを扱う場合の「datetime.timedelta」と「dateutil.relativedelta.relativedelta」の違いは何ですか?
-
[解決済み] Emacsを使ってファイルに現在の日付と時刻を挿入するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 現在時刻をdatetimeで取得する方法
-
[解決済み] Crystal Reportsで現在の日付と時刻を表示するにはどうすればよいですか?
-
[解決済み】ISO 8601とRFC 3339の日付書式の違いは何ですか?
-
[解決済み】mongodbで日付/時刻を保存する最良の方法
-
[解決済み] moment.js で datetime を YYYY-MM-DD HH:mm:ss にフォーマットする
-
[解決済み] Dartで日付/時刻の文字列をDateTimeオブジェクトに変換するには?
-
[解決済み] JAXBがxsd:dateTimeをマーシャルする際に使用する日付形式はどのように指定するのですか?
-
[解決済み] Emacsを使ってファイルに現在の日付と時刻を挿入するにはどうすればよいですか?
-
[解決済み] Google SheetsのセルでISO-8601の文字列を日付に変換する
-
flutterでデバイスの位置情報からタイムゾーン、言語、郡のIDを取得する方法は?