2012-08-28 31 views
3

如何将字符串转换为日期时间。我有以下字符串:将字符串转换为日期时间格式和日期只在C#

08/19/2012 04:33:37 PM 

我想上面的字符串转换为以下格式:日日

MM-dd-yyyy 

dd/MM/yyyy HH:mm:ss 

我一直在尝试使用不同的技术来转换和使用以下:

DateTime firstdate = DateTime.Parse(startdatestring); 

它显示以下错误

字符串未被识别为有效的日期时间。

我有搜索它,不能得到确切的解决方案,也尝试使用不同的日期格式。请如何将以上字符串转换为日期格式

回答

10

您需要首先解析字符串 - 您错过了AM/PM指示符。看看Custom Date and Time Format Strings MSDN上:

DateTime firstdate = DateTime.ParseExact(startdatestring, 
             "MM/dd/yyyy hh:mm:ss tt", 
             CultureInfo.InvariantCulture); 

然后你就可以格式化字符串:

var firstDateString = firstdate.ToString("MM-dd-yyyy"); 

,你可能还需要做InvariantCulture

var firstDateString = firstdate.ToString("MM-dd-yyyy", 
             CultureInfo.InvariantCulture); 
+0

串是从何而来日期选择器。当我选择的日期少于12天时,它可以正常工作,否则会显示错误,例如日历System.Globalization.GregorianCalendar中不支持字符串表示的日期时间,这意味着日期被视为月。我需要在代码中更改 – CodeManiac

+1

@CodeManiac - 如果您使用的是DatePicker,只需使用它直接公开的DateTime,为什么你会经历一个字符串表示? – Oded

相关问题