c#中的日期计算

本文关键字:计算 日期 | 更新日期: 2023-09-27 18:06:51

我有一个日期字符串,格式如下:

yyyy-mm-dd

2011-08-29

我想检查两个日期,看看date1是否小于date2。

伪代码:

string date1 = "2011-08-29";
string date2 = "2011-09-29";
if (date1 < date2) {
    MessageBox.Show("First date is smaller!");
}

c#中的日期计算

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";

如果能够保证日期始终是相同的格式,那么一个字符串比较就足够了。

将两个字符串转换为DateTime变量并使用这里找到的DateTime.CompareTo http://msdn.microsoft.com/en-us/library/5ata5aya.aspx

使用Convert.ToDateTime(date1)进行转换

解可能看起来像

If (Convert.ToDateTime(date1).CompareTo(Convert.ToDateTime(date2)) < 0){
MessageBox.Show("First date is smaller!");
}

您可以通过解析该字符串创建DateTime对象,然后继续执行该逻辑。例:

DateTime dateTime1 = DateTime.Parse(date1);

用于安全解析,DateTime.TryParse(date1, out dateTime1)

如果日期为YYYY-mm-dd格式,则不需要解析。您的示例运行得非常好。