仅在c#中将字符串转换为日期时间格式和日期

时间:2012-08-28 10:56:33

标签: c# datetime

如何将字符串转换为datetime。我有以下字符串:

08/19/2012 04:33:37 PM

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

MM-dd-yyyy

dd/MM/yyyy HH:mm:ss

我一直在尝试使用不同的技术转换并使用以下内容:

DateTime firstdate = DateTime.Parse(startdatestring);

显示以下错误

  

字符串未被识别为有效的DateTime。

我已搜索到它,无法获得准确的解决方案,并尝试使用不同的日期时间格式。请问如何将上述字符串转换为上述日期格式

1 个答案:

答案 0 :(得分:10)

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

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);