今回のテーマ
こんにちは、サルモリです。
今回もDateTime型について学んでいきましょう!!!
今回は下記のテーマについて、書いていきます。
今回のテーマ
2つのDateTime型の値の差を求める方法
2つのDateTime型を指定し、差を求めたいと思います。簡単に出来ますので、是非覚えてください。
DateTime型の差を求める方法
早速、日数の差を求めるソースコードを見てみましょう。
下記のソースコードを見てください。
1 2 3 4 5 6 7 8 9 10 11 12 |
using System; class Program { static void Main(string[] args) { DateTime date = new DateTime(2018, 10, 30); DateTime date2 = new DateTime(2018, 10, 25); TimeSpan diff = date - date2; Console.WriteLine(diff.Days + "日の差です"); } } |
出力結果
5日の差です
上記のソースコードを見てみると2つのDateTime型をマイナスすることで差を求めています。
差の結果はTimeSpan型で保持します。
TimeSpan型には、下記のように時分秒に変換するプロパティがあるので別の単位でもすぐに分かります。
プロパティ | 意味 |
Days | 時間間隔の日の部分を取得する |
Hours | 時間間隔の時間の部分を取得する |
Minutes | 時間間隔の分の部分を取得する |
Seconds | 時間間隔の秒の部分を取得する |
下記のように時分の差も導き出すことができます。
1 2 3 4 5 6 7 8 9 10 11 12 |
using System; class Program { static void Main(string[] args) { DateTime date = new DateTime(2018, 10, 30, 10, 0 ,0); DateTime date2 = new DateTime(2018, 10, 30, 5, 5, 0); TimeSpan diff = date - date2; Console.WriteLine(diff.Hours + "時間" + diff.Minutes + "分の差です"); } } |
出力結果
4時間55分の差です
DateTime型の比較
マイナスで差を求められるということは比較演算子も使用することができます!
下記のソースコードのようにif文に比較演算子で比べることが出来ます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System; class Program { static void Main(string[] args) { DateTime date = new DateTime(2018, 10, 30, 0, 0 ,0); DateTime date2 = new DateTime(2018, 10, 29, 0, 0, 0); if(date < date2) { Console.WriteLine("dateが過去です。"); } else { Console.WriteLine("date2が過去です。"); } } } |
出力結果
date2が過去です。
TimeSpan型を使用し、n時間後の時間を求める方法
前回の記事では、n時間後などを求める方法でAddHoursメソッドなどを使用しましたが、
TimeSpan型を使用する方法もあります。
前回の記事
-
参考【C# sharp】AddYears、AddMonths、AddDaysメソッドでn年後、nか月後、n日後を求める方法
ChatGPTのAPIを使わずに自動化することが可能です。 下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。 今回のテーマ ...
続きを見る
下記のソースコードに例を示します。
1 2 3 4 5 6 7 8 9 10 11 |
using System; class Program { static void Main(string[] args) { DateTime date = new DateTime(2018, 1, 1, 0, 0 ,0); TimeSpan diff = new TimeSpan(1, 30, 0); Console.WriteLine(date + diff); } } |
出力結果
2018/01/01 1:30:00
上記のようにTimeSpan型で定義した時間をプラスすることで実現できています。
個人的にはAddHoursメソッドなどを使用することが多いですが、好みで使い分けてくださいね。
まとめ
今回の記事ではTimeSpan型の使い方を学びました。
DateTime型を使用する上でいつの間にか使用してた!ってことがよくある型なので、覚えておいてください!
知っておくと、頭がこんがらがることはなくなると思うのでいいと思いますよ!
それでは、今回の記事は以上となります。最後まで見て頂きありがとうございました。