我的日期为字符串,格式如下:
yyyy-mm-dd
e.g。
2011-08-29
我想检查两个日期,看看date1是否小于date2。
伪代码:
string date1 = "2011-08-29";
string date2 = "2011-09-29";
if (date1 < date2) {
MessageBox.Show("First date is smaller!");
}
答案 0 :(得分:4)
DateTime date1 = new DateTime(2009, 8, 1, 0, 0, 0);
DateTime date2 = new DateTime(2009, 8, 1, 12, 0, 0);
int result = DateTime.Compare(date1, date2);
string relationship;
if (result < 0)
relationship = "is earlier than";
else if (result == 0)
relationship = "is the same time as";
else
relationship = "is later than";
答案 1 :(得分:3)
如果确保日期始终采用精确格式,则字符串比较就足够了。
答案 2 :(得分:1)
将您的字符串转换为DateTime变量,并使用http://msdn.microsoft.com/en-us/library/5ata5aya.aspx
中的DateTime.CompareTo
使用Convert.ToDateTime(date1)
进行转换。
解决方案可能看起来像
If (Convert.ToDateTime(date1).CompareTo(Convert.ToDateTime(date2)) < 0){
MessageBox.Show("First date is smaller!");
}
答案 3 :(得分:1)
您可以通过解析该字符串来创建DateTime
对象,然后继续该逻辑。
例如:
DateTime dateTime1 = DateTime.Parse(date1);
用于安全解析,DateTime.TryParse(date1, out dateTime1)
答案 4 :(得分:1)
如果日期为YYYY-mm-dd
格式,则无需解析。你的榜样非常好。