在我的MongoDB数据库中,有一个名为BusSchedule的集合,包含以下字段
BusSchedule
以下是一些可能存在的典型值
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"我想知道微软是否有某种现有的库,可以轻松地将整个和小数小时的双数据类型表示转换为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,“输入字符串格式不正确。”
我不想浪费时间编写代码来做上述的翻译。有谁能告诉我微软或第三方开源库是否会处理上述要求?
谢谢@Edin:
以下是我最终编写的代码:
Double wholeAndFractionalHours = 14.25;
String timeIn12hourClockFormat = (new DateTime().AddHours(wholeAndFractionalHours)).ToString("h:mm tt", CultureInfo.InvariantCulture);发布于 2016-03-11 10:48:21
您可以创建新的DateTime:
var dateTime = new DateTime().AddHours(6.5);然后使用ToString或ToShortTimeString格式化时间:
string time = dateTime.ToShortTimeString();或者,如果您显式地希望使用AM/PM的12小时格式:
string ampm = dateTime.ToString("h:mm tt", CultureInfo.InvariantCulture);https://stackoverflow.com/questions/35937964
复制相似问题