簡體   English   中英

如何在DateTime中格式化小時以返回0而不是12?

[英]How do I format hours in DateTime to return 0 instead of 12?

默認情況下,DateTime的格式字符串中的小時將0轉換為12.例如,如果有

DateTime dt = new DateTime(1999, 1, 1, 0, 0, 0);
string s = dt.ToString("h:mm:ss");

s的值為“12:0:0”,而不是“0:0:0”。 有沒有辦法獲得“0:00:00”?

嘗試

string s = dt.ToString("H:mm:ss");

這是參考頁面。

你很親密,試着改用它:

string s = dt.ToString("H:mm:ss");
string s = (dt.Hour >= 12 ? dt.Hour - 12 : dt.Hour).ToString() +
    dt.ToString(":mm:ss");

顯然這不是你想要的。 我讀你的帖子的方式,你想要一個12小時的時鍾重新映射“12:00”到“0:00”(一些國際時鍾這樣做),這產生。 此行為沒有格式字符串,因此您必須自己創建字符串。

您還可以在此處閱讀有關DateTime格式字符串的更多信息

而不是“h:mm:ss”,使用“H:mm:ss”

您需要在ToString方法中使用大寫H而不是小寫h。

DateTime dt = new DateTime(1999,1,1,0,0,0); string s = dt.ToString(“H:mm:ss”);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM