我有以下两个字符串格式的日期。需要将以下字符串转换为时间格式
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对象,使用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
这将适用于单位和两位数日以下列方式工作(例如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
以确保即使当前文化没有英文月份名称,也能成功解析它。
谢谢搭档...我被这个零件卡住了一段时间... :) –
@ViVek,不客气 – Habib