我有以下两个字符串格式的日期。
1. 06 Mar 2013
2. 26 Mar 2013
我需要比较这两个日期,即if (06 Mar 2013 < 26 Mar 2013)
是否有任何内置函数可以将字符串转换为 C# 日期和时间格式?
我有以下两个字符串格式的日期。
1. 06 Mar 2013
2. 26 Mar 2013
我需要比较这两个日期,即if (06 Mar 2013 < 26 Mar 2013)
是否有任何内置函数可以将字符串转换为 C# 日期和时间格式?
您需要使用带格式的DateTime.ParseExactdd MMM yyyy
将这两个日期解析为 DateTime 对象,然后将两者进行比较。
string str1 = "06 Mar 2013";
string str2 = "26 Mar 2013";
DateTime dt1 = DateTime.ParseExact(str1, "dd MMM yyyy", null);
DateTime dt2 = DateTime.ParseExact(str2, "dd MMM yyyy", null);
if(dt1 < dt2)
{
//dt1 is less than dt2
}
您还可以使用 formatd MMM yyyy
和 single d
,它适用于一位数和两位数的日子(例如02
,2
等12
)
就在这里。尝试DateTime.Parse
和DateTime.ParseExact
方法。这是代码示例:
string first = "06 Mar 2013";
string second = "26 Mar 2013";
DateTime d1 = DateTime.Parse(first);
DateTime d21 = DateTime.Parse(second);
var result = d1 > d21; //false
DateTime.ParseExact
按以下方式使用:
DateTime dt = DateTime.ParseExact(str, "dd MMM yyyy", CultureInfo.InvariantCulture);
CultureInfo.InvariantCulture
即使当前文化没有英文月份名称,也需要确保它能够成功解析。