我收到的数据表示服务中的时隙作为字符串形式:
1500-1600
这意味着下午3点到4点.
我将列出这些例如
1200-1300
1300-1400
1400-1500
我必须在UI中表示这一点
中午12点至下午1点
下午1点到2点
下午2点 - 下午3点
不幸的是,这个列表可能是随机顺序.
我的问题是有没有办法使用DateTime对象能够将24小时时间转换为12小时时间,还有一种方法可以按顺序排序时间吗?
目前我觉得我将不得不编写一个自定义解析函数,但想知道是否有人知道如何更好地做到这一点?或者可以建议如何实现这一目标.
我假设你知道如何将时间分成"1400"和"1500".最简单的方法(IMO)将是使用
DateTime.ParseExact(input, "HHmm", CultureInfo.InvariantCulture)
这将返回a DateTime
今天的日期和给定的时间.然后,您可以根据需要格式化DateTime
.
或者,您可以将"1400"解析为整数,然后使用Math.DivRem找到分钟和小时,除以100.我个人更喜欢使用DateTime.