C#の日時を計算するサンプルです。加算と減算を行います。
目次
サンプル | 日時を計算するサンプル |
TimeSpanで日時を計算するサンプル |
日時を計算するサンプル
public struct DateTime public DateTime AddYears(int value); public DateTime AddMonths(int months); public DateTime AddDays(double value); public DateTime AddHours(double value); public DateTime AddMinutes(double value); public DateTime AddSeconds(double value); |
日時を計算するサンプルです。
using System;
class Test1
{
static void Main()
{
// 指定日時をセット 2020/2/10 22:30:10
//DateTime dt1 = new DateTime(2020, 2, 10, 22, 30, 10);
DateTime dt1 = Convert.ToDateTime("2020/02/10 22:30:10");
// 2年後を求める
Console.WriteLine(dt1.AddYears(2)); // 2022/02/10 22:30:10
// 2ヶ月後を求める
Console.WriteLine(dt1.AddMonths(2)); // 2020/04/10 22:30:10
// 2日前を求める
Console.WriteLine(dt1.AddDays(-2)); // 2020/02/08 22:30:10
//2時間後を求める
Console.WriteLine(dt1.AddHours(2)); // 2020/02/11 0:30:10
//2分後を求める
Console.WriteLine(dt1.AddMinutes(2)); // 2020/02/10 22:32:10
//2秒後を求める
Console.WriteLine(dt1.AddSeconds(2)); // 2020/02/10 22:30:12
}
}
7行目は、指定日時に数値を指定しています。
8行目は、日時の文字列をDateTime型に変換しています。
日時の指定はどちらでも可能です。
年月日時分秒とそれぞれメソッドがあります。
引数にプラスの値を指定すると加算します。
減算する場合は、17行目のように引数にマイナス値を指定します。
以下は、MicrosoftのAddYearsメソッドのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/system.datetime.addyears?view=netframework-4.8
TimeSpanで日時を計算するサンプル
public struct TimeSpan public TimeSpan(int days, int hours, int minutes, int seconds); public TimeSpan(int days, int hours, int minutes, int seconds, int milliseconds); |
TimeSpanで日時を計算するサンプルです。
using System;
class Test1
{
static void Main()
{
// 指定日時をセット 2020/2/10 22:30:10
//DateTime dt1 = new DateTime(2020, 2, 10, 22, 30, 10);
DateTime dt1 = Convert.ToDateTime("2020/02/10 22:30:10");
// 5日と30分をセット
TimeSpan ts1 = new TimeSpan(5, 0, 30, 0);
// 足し算
DateTime dt2 = dt1 + ts1;
Console.WriteLine(dt2); // 2020/02/15 23:00:10
// 引き算
DateTime dt3 = dt1 - ts1;
Console.WriteLine(dt3); // 2020/02/05 22:00:10
}
}
7行目は、指定日時に数値を指定しています。
8行目は、日時の文字列をDateTime型に変換しています。
日時の指定はどちらでも可能です。
11行目は、TimeSpan構造体です。1つめの引数は日数で以降は時間、分、秒です。
例では、5日と30分を指定しています。
14行目は、足し算をして日時を求めています。
18行目は、引き算をして日時を求めています。
以下は、MicrosoftのTimeSpan構造体のリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/system.timespan?view=netframework-4.8
関連の記事