2015-05-19 115 views
0

我有以下C#,当试图解析字符串datetime时,给了我上面的错误。日期时间对象转换

DateTime currDate = DateTime.MinValue; 
DateTime.TryParseExact(date.Trim(), "M/d/yyyy", null, System.Globalization.DateTimeStyles.None, out currDate); 
if (currDate == DateTime.MinValue) 
    currDate = Convert.ToDateTime(date.Trim()); 

图像流label.text看起来像这样{1/1/0001 12:00:00 AM}

如何转换任何想法?

+0

'date.Trim()'的值是什么?与'label.text'有什么关系吗? –

+0

date.Trim()的值是2015年3月31日 – Madhu

+0

与label.text没有关系 – Madhu

回答

0

您的格式应为d MMM yyyy31 March 2015

DateTime.TryParseExact(date.Trim(), 
         "d MMM yyyy", 
         none, 
         DateTimeStyles.None, 
         out currDate); 
0

您需要使用MMMM格式为this MSDN文档指定指定整整一个月。

和你的代码看起来像这样。

using System; 

public class Program 
{ 
    public static void Main() 
    { 
     DateTime currDate = DateTime.MinValue; 
     DateTime.TryParseExact("31 March 2015", "dd MMMM yyyy", null, System.Globalization.DateTimeStyles.None, out currDate); 
     Console.WriteLine(currDate); 
    } 
} 

Here正在工作点网小提琴。

+0

我尝试了所有的解决方案,但得到相同的错误“字符串未被识别作为有效的日期时间。从索引1开始有一个未知的词。“ – Madhu

+0

让我明白,在我的代码DateTime currDate = DateTime.MinValue; DateTime.TryParseExact(date.Trim(),“MM/dd/yyyy”,null,System.Globalization.DateTimeStyles.None,out currDate); if(currDate == DateTime.MinValue) currDate = Convert.ToDateTime(date.Trim()); – Madhu

+0

日期的值为“2015年3月31日”,currDate的值为“1/1/0001 12:00:00 AM” – Madhu