如何转换这个:
2-1-2013 0:00:00
对此:
2/1/2013 12:00:00 AM
不转换为字符串?或转换为字符串,但最终结果应该是DateTime
.
DateTime
结构没有格式含义,当您要在某处显示/输出日期时间时,格式变得很重要。所以你可以使用DateTime.ToString()
重载来指定你需要输出的 excat 格式。
在我看来,请求没有多大意义,因为格式是数据的一种呈现方式,在这种情况下,数据是通过字符串呈现的。您存储DateTime
到对象中,但可以呈现它。
如果您担心在Watch
窗口中看到,请记住,它使用简单DateTime.ToString(..).
的应用程序的默认文化。
正如 Jon 已经提到的, aDataTime
没有固有的格式,它只有一个值。字符串有格式。所以你需要DateTime.ToString
或String.Format
得到你想要的结果:
var dt = DateTime.Parse("2-1-2013 0:00:00");
string result = dt.ToString("MM/dd/yyyy h:mm tt", CultureInfo.InvariantCulture);
请注意,即使在默认情况下不使用它的文化中(如德国),我也曾经ToString
通过CultureInfo.InvariantCulture
以确保我得到您想要的 AM/PM 指示符。