我有以下两种日期的字符串格式。
1. 06 Mar 2013
2. 26 Mar 2013
我需要比较这两个日期,即if (06 Mar 2013 < 26 Mar 2013)
是否有内置函数将字符串转换为C#日期和时间格式?
答案 0 :(得分:2)
您需要使用格式为dd MMM yyyy
的{{3}}将这两个日期解析为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
}
您还可以使用d MMM yyyy
格式,单d
格式适用于单位数和双位数日(例如02
,2
和{{1等等)
答案 1 :(得分:1)
是的。尝试使用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
答案 2 :(得分:0)
以下列方式使用DateTime.ParseExact
:
DateTime dt = DateTime.ParseExact(str, "dd MMM yyyy", CultureInfo.InvariantCulture);
CultureInfo.InvariantCulture
需要确保即使当前文化没有英文月份名称也能成功解析。