1

我有以下两个字符串格式的日期。

1. 06 Mar 2013 
2. 26 Mar 2013

我需要比较这两个日期,即if (06 Mar 2013 < 26 Mar 2013)

是否有任何内置函数可以将字符串转换为 C# 日期和时间格式?

4

3 回答 3

2

您需要使用带格式的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,它适用于一位数和两位数的日子(例如02212

于 2013-04-02T09:38:05.523 回答
1

就在这里。尝试DateTime.ParseDateTime.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
于 2013-04-02T09:38:02.587 回答
0

DateTime.ParseExact按以下方式使用:

DateTime dt = DateTime.ParseExact(str, "dd MMM yyyy", CultureInfo.InvariantCulture);

演示

CultureInfo.InvariantCulture即使当前文化没有英文月份名称,也需要确保它能够成功解析。

于 2013-04-02T09:42:58.293 回答