2013-04-02 133 views
1

我有以下两个字符串格式的日期。需要将以下字符串转换为时间格式

1. 06 Mar 2013 
2. 26 Mar 2013 

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

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

回答

2

您需要解析这两个日期为DateTime对象,使用DateTime.ParseExact与格式dd MMM yyyy,然后比较两者。

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这将适用于单位和两位数日以下列方式工作(例如02212等)

+1

谢谢搭档...我被这个零件卡住了一段时间... :) –

+0

@ViVek,不客气 – Habib

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 
0

使用DateTime.ParseExact

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

Demo

需要

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

相关问题