C#2.0/日時操作

C#2.0/日時操作

日時操作に関して通常はDateTime型を使うのでこれでやる。

日付っぽい文字列からDateTimeを生成する

@IT:.NET TIPS 日付や時刻の文字列をDateTimeオブジェクトに変換するには? - C# VB.NET http://www.atmarkit.co.jp/fdotnet/dotnettips/203dateparse/dateparse.html

日時を比較する

普通に比較演算

< > <= == >=

で比較できる

指定日から指定日までの日数分ループする

比較ができるとDateTime型はこういう構文が使える

DateTime hogeDate = fromDate;
while(hogeDate <= toDate){
    hogeDate = hogeDate.AddDays(1);
}

DateTime型に日付無しを設定

これはできない、DateTimeはクラスではなくて構造体なので実体であって参照型じゃない、つまりポインタを格納するものじゃないので null が突っ込めない。

イロイロネットを見る限りだと

DateTime hoge = DateTime.MaxValue;

こんな感じにしておけ・・・のよう

今日日付を求める

DateTime hoge = Datetime.Today;

日付と日付間の経過日数を求める

経過日数を求めるには DateTime の Subtract メソッドを使う。結果はTimeSpanという構造体に格納される。 TimeSpan構造体の中のDaysメンバに日数がint型で入ってるのでそいつを取り出して使う

DateTime from = new DateTime(2008,1,1);
DateTime to = new DateTime(2008,1,4);
TimeSpan ts = to.Subtract(from);
//↓日数
ts.Days;

TimeSpanは日数だけでなく経過時間や経過秒などの情報も持っている

↓参考 TimeSpan プロパティ (System) http://msdn2.microsoft.com/ja-jp/library/system.timespan_properties(VS.80).aspx

csharp/csharp20/datetime_ope.txt · 最終更新: 2017-09-26 18:59 by ore