【问题标题】:Double Data Type representation of 24 hour time to the 24-hour Format time24 小时制时间到 24 小时制格式时间的双数据类型表示
【发布时间】:2016-02-01 23:04:24
【问题描述】:

全部:

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

  • Microsoft Visual Studio 专业版 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 小时制的 Double Data Type 表示形式转换为 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"

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

【问题讨论】:

  • 您可以在 C# 端将这些值读取为 System.Double 或 System.String?
  • Double类型与C#端的StartTime和EndTime相关联。 24hourFormatStartTime 和 24hourFormatEndTime 与 C# 端的 String 相关联。我是否正确回答了您的问题?
  • 我知道它们的关联,但是可以你从你的 mongodb 中读取这个 6.5 或 14.25 值并将其分配给 C# 双变量,如 /* read this value from db */ double d = 14.25?或者您是在问如何从 mongodb 中读取这些值并分配它?
  • 我已经可以从 MongoDB 读取 StartTime 和 EndTime 值并将它们放在双变量中。如何将其转换为 24 小时格式时间的字符串版本?

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


【解决方案1】:

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

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

TimeSpan ts = TimeSpan.FromHours(14.25);

然后

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-12
    • 2014-11-20
    • 1970-01-01
    • 1970-01-01
    • 2012-06-18
    • 2012-11-22
    • 1970-01-01
    相关资源
    最近更新 更多