gpt4 book ai didi

javascript - 整数和小数小时 Double 值转换为 12 小时制时钟格式时间

转载 作者:行者123 更新时间:2023-11-30 16:13:02 26 4
gpt4 key购买 nike

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

巴士时刻表

  • -Double StartTime --> 包含整小时和小数小时
  • -Double EndTime --> 包含整小时和小数小时
  • -String 12hourFormatStartTime
  • -String 12hourFormatEndTime

这里有一些可能存在的典型值

StartTime = 6.5 --> contains whole and fractional hours 
EndTime = 9.5 --> contains whole and fractional hours
12hourFormatStartTime = "06:30 AM"
12hourFormatEndTime = "09:30 AM"

StartTime = 8.5 --> contains whole and fractional hours
EndTime = 14.25 --> contains whole and fractional hours
12hourFormatStartTime = "08:30 AM"
12hourFormatEndTime = "02:15 PM"

我想知道 Microsoft 是否有某种现有的库可以轻松地将整数和小数小时的 double 据类型表示转换为 12 小时时钟格式时间。

StartTime = 8.5  -------translated to-----> 12hourFormatStartTime = "08:30 AM"
EndTime = 14.25 -------translated to-----> 12hourFormatEndTime = "02:15 PM"

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

如果我可以使用 C#,我会更喜欢。我尝试这样做:

  Double wholeAndFractionalHours = 14.25;
TimeSpan.FromHours(wholeAndFractionalHours).ToString(@"hh:mm tt"))

但它会抛出 System.FormatException“输入字符串的格式不正确。”

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

谢谢@Edin:

这是我最终编写的代码:

 Double wholeAndFractionalHours = 14.25;
String timeIn12hourClockFormat = (new DateTime().AddHours(wholeAndFractionalHours)).ToString("h:mm tt", CultureInfo.InvariantCulture);

最佳答案

您可以创建新的日期时间:

var dateTime = new DateTime().AddHours(6.5);

然后使用ToStringToShortTimeString格式化时间:

string time = dateTime.ToShortTimeString();

或者如果您明确想要 AM/PM 的 12 小时格式:

string ampm = dateTime.ToString("h:mm tt", CultureInfo.InvariantCulture);

关于javascript - 整数和小数小时 Double 值转换为 12 小时制时钟格式时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35937964/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com