jquery FullCalendar 插件具有简洁的时间格式。
如果时间是7:00pm,则格式显示为7p。
如果时间是上午 7:30,则格式显示为7:30a。
问题:有什么方法可以使用标准格式来通过 c# sharp 完成此任务?显然我可以自己创建逻辑来执行此操作,但我希望有一个格式字符串可以完成此操作。
即(不起作用):
MyDateTime.ToString("h{:mm}t");
jquery FullCalendar 插件具有简洁的时间格式。
如果时间是7:00pm,则格式显示为7p。
如果时间是上午 7:30,则格式显示为7:30a。
问题:有什么方法可以使用标准格式来通过 c# sharp 完成此任务?显然我可以自己创建逻辑来执行此操作,但我希望有一个格式字符串可以完成此操作。
即(不起作用):
MyDateTime.ToString("h{:mm}t");
格式化字符串没有条件 - 无法在格式化字符串中指定条件。
您将需要相应地使用标准if
和格式。
if(MyDateTime.Minutes == 0)
{
return MyDateTime.ToString("h");
}
return MyDateTime.ToString"h:mmt");
或者,在一行中:
return MyDateTime.ToString((MyDateTime.Minutes == 0)?"h":"h:mmt");
不,在内置的 .NET 日期/时间格式中没有这样的东西。您必须自己编写代码。
(老实说,我在其他日期/时间库中没有看到类似的日期和时间。我已经看到了 period 的条件格式,但这是另一回事。唯一的例外是“小数秒”,它可以如果时间是整数秒,则表示它们被删除 - 包括小数点。)