-2

如何转换这个:

2-1-2013 0:00:00

对此:

2/1/2013 12:00:00 AM

不转换为字符串?或转换为字符串,但最终结果应该是DateTime.

4

3 回答 3

1

DateTime结构没有格式含义,当您要在某处显示/输出日期时间时,格式变得很重要。所以你可以使用DateTime.ToString()重载来指定你需要输出的 excat 格式。

于 2013-02-01T12:06:37.007 回答
1

在我看来,请求没有多大意义,因为格式是数据的一种呈现方式,在这种情况下,数据是通过字符串呈现的。您存储DateTime到对象中,但可以呈现它。

如果您担心在Watch窗口中看到,请记住,它使用简单DateTime.ToString(..).的应用程序的默认文化。

于 2013-02-01T12:07:03.360 回答
1

正如 Jon 已经提到的, aDataTime没有固有的格式,它只有一个值。字符串有格式。所以你需要DateTime.ToStringString.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 指示符。

于 2013-02-01T12:12:51.710 回答