- PR -

[C#] 日付の比較

投稿者投稿内容
Qoo
常連さん
会議室デビュー日: 2006/05/18
投稿数: 37
投稿日時: 2006-05-29 14:53
string str = System.DateTime.Today.ToString("yyyy/MM/dd");

上記の様な形式をしたstring型の日付を表す文字列が2つあるんですが
この2つを比較してどっちが先かとか判定したいのですが、いいやり方は
ないでしょうか?
今は単純に年、月、日ごとにsubustringで切り出して数値変換して
比較してるって感じなので・・・
何かパパッとできるやり方があれば教えてください。
よろしくお願いします。
なおこ(・∀・)
大ベテラン
会議室デビュー日: 2004/04/08
投稿数: 174
お住まい・勤務地: 東京都
投稿日時: 2006-05-29 14:56
お世話になります。

DateTime 型同士で比較するのはダメなんですか?
_________________
なおこ(・∀・) @ わんくま同盟
主婦と.NETと犬の記録
主婦と.NETと犬のぶろぐ
Qoo
常連さん
会議室デビュー日: 2006/05/18
投稿数: 37
投稿日時: 2006-05-29 14:59
お返事ありがとうございます。

渡されたDBの仕様がVarchar型なので最終的には
ToStringしますが、書き込む前だったら構わないと思います。
何かいい方法あるのでしょうか?
なおこ(・∀・)
大ベテラン
会議室デビュー日: 2004/04/08
投稿数: 174
お住まい・勤務地: 東京都
投稿日時: 2006-05-29 15:03
お世話になります。

引用:

Qさんの書き込み (2006-05-29 14:59) より:
お返事ありがとうございます。

渡されたDBの仕様がVarchar型なので最終的には
ToStringしますが、書き込む前だったら構わないと思います。
何かいい方法あるのでしょうか?



受け取った値が文字列なら、
DateTime.Parse で DateTime 型にして、
比較すればよいのではないですか?

if (DateTime.Parse("2005/01/01") < DateTime.Today){
  // 今日よりも小さかった場合
}
び〜る
会議室デビュー日: 2005/11/29
投稿数: 12
投稿日時: 2006-05-29 15:04
System.DateTime.Compareを使用したらどうでしょう?
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2006-05-29 15:19
別に文字列でもそのまま比較したらいい気がしないでもない。
なおこ(・∀・)
大ベテラン
会議室デビュー日: 2004/04/08
投稿数: 174
お住まい・勤務地: 東京都
投稿日時: 2006-05-29 15:24
引用:

なちゃさんの書き込み (2006-05-29 15:19) より:
別に文字列でもそのまま比較したらいい気がしないでもない。



私もそんな気がしないでもないです。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-29 15:27
System.DateTime.ParseExact メソッド で System.DateTime 型のインスタンスを取得して、
双方の System.DateTime を比較演算子で比較するのが、一般的でしょう。

一応、日付として保証されますからね。
(DB の型が TIMESTAMP 系ならあまり意味がないですが)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)