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