将数字转换为时间?

时间:2010-06-11 13:38:51

标签: c# .net asp.net asp.net-mvc

是否有一种灵活的方式将简单数字(包括陆军时间)转换为时间格式(上午,下午格式)?我可以做一些繁琐的方法,但我只是想知道是否还有另一种方式

0800 =>上午8:00

2317 =>晚上11:17

3 个答案:

答案 0 :(得分:12)

    DateTime dt = DateTime.ParseExact("0800", "HHmm", CultureInfo.InvariantCulture);
    string timestring = dt.ToString("h:mm tt");

有关格式代码,请参阅documentation

答案 1 :(得分:1)

希望这能指出你正确的方向:

    string time = "0800";
    DateTime dt = DateTime.ParseExact(string.Format("{0}:{1}", time.Substring(0, 2), time.Substring(2, 2)), "HH:mm", CultureInfo.InvariantCulture);
    MessageBox.Show(string.Format("{0:h:mm tt}", dt));

    time = "2345";
    dt = DateTime.ParseExact(string.Format("{0}:{1}", time.Substring(0, 2), time.Substring(2, 2)), "HH:mm", CultureInfo.InvariantCulture);
    MessageBox.Show(string.Format("{0:h:mm tt}", dt));

答案 2 :(得分:1)

DateTime.TryParse与您想要的格式字符串一起使用。

如果您可以接受多种格式,那么您需要依次调用每种格式,直到找到匹配的格式 - 我认为这是“繁琐的方法”的意思。

相关问题