需要将以下字符串转换为时间格式

时间:2013-04-02 09:37:21

标签: c#

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

1. 06 Mar 2013 
2. 26 Mar 2013

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

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

3 个答案:

答案 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格式适用于单位数和双位数日(例如022和{{1等等)

答案 1 :(得分: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

答案 2 :(得分:0)

以下列方式使用DateTime.ParseExact

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

Demo

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