在c#中将字符串解析为12小时格式的日期时间

时间:2014-03-11 18:24:17

标签: c# parsing datetime datetime-format

如何将日期从一种形式转换为另一种形式?我有一个字符串变量bid="3/11/2014 10:57:00 PM"。其中3 =月,11 =日,2014 =年,10 = 12小时格式的小时,57 =分钟,00 =秒PM = AM / PM格式。

我需要将变量出价转换为此日期格式并将其存储在日期变量中。出价必须以以下格式转换:"11/3/2014 10:57:00 PM"其中11 =天,3 =月,2014 =年10 = 12小时格式的小时,57 =分钟,00 =秒,PM = AM / PM格式。

我尝试了Datetime.parse确切,有几种字符串组合但没有奏效。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:7)

  

我需要将变量出价转换为此日期格式并将其存储在日期变量

这对我有用:

var dt = DateTime.ParseExact("3/11/2014 10:57:00 PM", 
                             "M/d/yyyy h:mm:ss tt",
                             CultureInfo.InvariantCulture)
  

必须以以下格式转换出价:"11/3/2014 10:57:00 PM"其中11 =天,3 =月,2014 =年10 = 12小时格式的小时,57 =分钟,00 =秒,PM =上午/下午格式。

好吧,你可以将它转换回一个搅拌器:

var s = dt.ToString("d/M/yyyy h:mm:ss tt");

但为什么你需要那种格式呢?如果您将其发送到数据库,那么只需将其保留为日期 - 数据库将不必担心日期是否为特定格式。如果您在应用程序中显示它,则要么使用用户的文化,要么在UI层中定义格式。