jquery FullCalendar plugin有一个整齐的时间格式。时间(日期时间)格式有条件显示分钟
如果时间是7:00 pm,格式显示为7p。
如果时间是7:30 am,格式显示为7:30a。
问:有没有办法使用标准格式用C#锐利做到这一点?很显然,我可以自己创建逻辑来做到这一点,但我希望有一个格式化字符串,可以使这一点成为可能。
即(不工作):
MyDateTime.ToString("h{:mm}t");
jquery FullCalendar plugin有一个整齐的时间格式。时间(日期时间)格式有条件显示分钟
如果时间是7:00 pm,格式显示为7p。
如果时间是7:30 am,格式显示为7:30a。
问:有没有办法使用标准格式用C#锐利做到这一点?很显然,我可以自己创建逻辑来做到这一点,但我希望有一个格式化字符串,可以使这一点成为可能。
即(不工作):
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");
尽管如此,如果在整个项目中使用它,我还是会试图用扩展方法来达到这个目的。 – KingCronus
@KingCronus - 当然。我没有说你不能把上面的内容合并成一个。 – Oded
我没有纠正你,我只是为OP留下一张纸条;-) – KingCronus
没有,有没有这样的内置.NET日期/时间格式中。你必须自己编写代码。我看到其他日期/时间库中的日期和时间没有看到类似的情况,说实话,我已经看到期间的条件格式,但这是一个不同的问题。唯一的例外是如果时间是整数秒,可以表示“小数秒”,以便它们被删除 - 包括小数点)。
。替换(“:00”,“”) –
没有内置的方式尽我所知......尽管你可以为此做出自己的扩展方法?即ToShortHandString() – KingCronus