C#中的日期计算

时间:2011-08-29 13:33:35

标签: c# date

我的日期为字符串,格式如下:

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!");
}

5 个答案:

答案 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格式,则无需解析。你的榜样非常好。