使用AM / PM将6位数转换为时间

时间:2014-07-11 12:42:09

标签: c# datetime

我必须像下午09:40那样展示时间。作为输入,我有150000之类的值 所以这种方式我尝试将int转换为时间如下

string s = DateTime.ParseExact("150000", "HHmm", 
System.Globalization.CultureInfo.CurrentCulture).ToString("hh:mm tt");

但不幸的是我收到了错误。所以指导我如何使用HH:MM AM/PM

将整数转换为时间

这是xml中的日期&时间以这种方式包含在单独的标签中

<tnt:Arrival>
<tnt:Date>20140715</tnt:Date>
<tnt:Time>233000</tnt:Time>
</tnt:Arrival>

所以我需要从

显示时间
  

tnt:时间标记

并显示如下午03:20 HH:MM AM/PM。所以指导我。感谢

现在我得到了现在有效的线索。这是解决方案

string fromTimeString = DateTime.FromOADate(150000).ToString("hh:mm tt");

上面的代码返回12:00 AM我想我正在走上正轨,问题就解决了。感谢

1 个答案:

答案 0 :(得分:4)

使用InvariantCulture确保我们有AM/PM个后缀。

System.Globalization.CultureInfo c = System.Globalization.CultureInfo.InvariantCulture;
string s = DateTime.ParseExact("233000", "HHmmss", c).ToString("h:mm tt", c);