24小时格式时间的{24}时间的双倍数据类型表示

时间:2015-11-02 05:25:50

标签: c# mongodb datetime datetime-format data-conversion

所有

以下是与我的开发环境相关的详细信息:

  • Microsoft Visual Studio Professional 2013
  • MongoDB版本3.0.0

在我的MongoDB数据库中,有一个名为BusSchedule的集合,其中包含以下字段

BusSchedule
-Double StartTime
-Double EndTime
-String 24hourFormatStartTime
-String 24hourFormatEndTime

以下是一些可能存在的典型值

StartTime = 6.5
EndTime = 9.5
24hourFormatStartTime = "06:30"
24hourFormatEndTime = "09:30"

StartTime = 8.5
EndTime = 14.25
24hourFormatStartTime = "08:30"
24hourFormatEndTime = "14:15"

我想知道微软是否有一种可以轻松实现的现有库 将24小时制的双数据类型表示转换为24小时格式化时间。

StartTime = 8.5  -------translated to-----> 24hourFormatStartTime = "08:30"
EndTime = 14.25  -------translated to-----> 24hourFormatEndTime = "14:15"

StartTime = 6.5 -------translated to-----> 24hourFormatStartTime = "06:30"
EndTime = 9.5 -------translated to-----> 24hourFormatEndTime = "09:30"

我不想浪费时间编写代码来执行上述翻译。 有人可以告诉我,微软或某些第三方开源库是否会处理上述要求?

1 个答案:

答案 0 :(得分:1)

  

我已经可以从MongoDB读取StartTime和EndTime值   将它们放在双变量中。如何将其转换为字符串   版本的24小时格式化时间?

然后,您可以使用此双精度值生成TimeSpan并使用TimeSpan.ToString()方法和hh\\:mm格式获取其字符串表示。

TimeSpan ts = TimeSpan.FromHours(14.25);

enter image description here

然后

Console.WriteLine(ts.ToString("hh\\:mm")); // 14:15

请注意,此代码适用于.Net 4.0或更高版本。如果您使用.Net 3.5及更低版本,则需要使用string.Format as explained