C#で2つの日付の差を秒単位で取得する方法
C#では、DateTime型とTimeSpan型を組み合わせることで、2つの日付(日時)の差を簡単に計算できます。この記事では、2つの日時の差を秒単位で取得する方法を、具体的なコード例とともに解説します。
1. 2つの日付を設定する
まず、比較対象となる2つの日時をDateTimeオブジェクトとして定義します。コンストラクタには「年、月、日、時、分、秒」の順で値を指定します。
DateTime date1 = new DateTime(2018, 7, 15, 08, 15, 20); DateTime date2 = new DateTime(2018, 7, 15, 11, 14, 25);
2. 日付の差を計算する
次に、2つのDateTimeオブジェクト同士を減算すると、その差がTimeSpan型として返されます。
TimeSpan ts = date2 - date1;
TimeSpan構造体は、時間間隔を表すための型で、日数・時間・分・秒など、さまざまな単位で差分を取得できる便利なプロパティを持っています。
3. 差を秒単位で取得する
秒単位の差を取得するには、TotalSecondsプロパティを使用します。このプロパティは、時間間隔全体を秒(小数点以下を含むdouble型)で表した値を返します。
ts.TotalSeconds
なお、整数部分だけが必要な場合は、(int)ts.TotalSecondsのようにキャストするか、ts.Secondsプロパティを使う方法もあります。Secondsプロパティは分未満の秒の成分のみを返すため、用途に応じて使い分けましょう。
サンプルコード(完全版)
ここまでの手順をまとめた完全なコードは以下の通りです。
using System;
using System.Linq;
public class Demo {
public static void Main() {
DateTime date1 = new DateTime(2018, 7, 15, 08, 15, 20);
DateTime date2 = new DateTime(2018, 7, 15, 11, 14, 25);
TimeSpan ts = date2 - date1;
Console.WriteLine("No. of Seconds (Difference) = {0}", ts.TotalSeconds);
}
}実行結果
No. of Seconds (Difference) = 10745
この例では、08:15:20から11:14:25までの経過時間である10,745秒が出力されました。約2時間59分5秒に相当します。
まとめ
2つの日時の差を秒単位で取得する手順は非常にシンプルです。
- 2つのDateTimeオブジェクトを用意する
- 減算してTimeSpanを取得する
- TotalSecondsプロパティで秒単位の差を取得する
この手法は、処理時間の計測やログの時刻差分析など、さまざまな場面で活用できます。
-
Androidで2つの日付の差分(日数)を取得する方法【サンプルコード付き】
はじめに この記事では、Androidアプリで2つの日付の差分(日数)を取得する方法を、実際に動作するサンプルコードとともに解説します。日付の差分計算は、利用期間の表示やイベントまでの残り日数のカウントなど、さまざまな場面で役立つ基本的な処理です。 実装の手順 ステップ1:Android Studioで新規プロジェクトを作成 Android Studioを起動し、メニューから「File」→「New Project」を選択します。必要な項目をすべて入力して、新しいプロジェクトを作成しましょう。 ステップ2:レイアウトファイル(activity_main.xml)の編集 res/layout/ac
-
【初心者向け】Pythonで2つのリストの差分(違い)を抽出する方法を解説
この記事では、2つのリストが与えられたときに、その差分(違い)を表示するPythonプログラムを紹介します。Pythonにはset()メソッドが用意されており、ここではこのメソッドを活用します。 セット(集合)とは、重複する要素を持たない順序なしのコレクションです。セットオブジェクトは、和集合・積集合・差集合・対称差といった数学的な操作もサポートしているため、リスト同士の比較に非常に便利です。 実行例 入力: A = [10, 15, 20, 25, 30, 35, 40] B = [25, 40, 35] 出力: [10, 20, 30, 15] 考え方 求めたい差分リストは、次のよう