时间(日期时间)格式有条件地显示分钟

本文关键字:时间 显示 分钟 有条件 格式 日期 | 更新日期: 2023-09-27 18:33:00

jquery FullCalendar插件有一个简洁的时间格式。

如果时间是晚上 7:00,则格式显示为 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 日期/时间格式中没有这样的东西。您必须自己编写代码。

(老实说,我在其他日期/时间库中没有看到类似的日期和时间。我已经看到了句点的条件格式,但那是另一回事。唯一的例外是"小数秒",如果时间是整数秒,则可以将其表示为删除它们 - 包括小数点。