2015-03-02 97 views
-3

我試圖顯示時間值,但以特殊格式顯示。舉例來說,如果我的變量包含7時25分零零秒,我想這樣顯示出來:C# - 以特定格式顯示時間

07H25

我想了解自定義格式一些事情,但我沒有得到有趣的東西。任何想法的方式來做到這一點?

+4

[這裏](https://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.110%29.aspx)所有你需要知道'DateTime'字符串格式化。 – Franck 2015-03-02 15:43:06

+0

您想查看.ToString(格式)或string.Format()命令 – Grax 2015-03-02 15:43:54

+2

「如果我的變量包含07:25:00」,變量的類型是什麼,是字符串,時間跨度還是DateTime ? – Habib 2015-03-02 15:45:06

回答

0
DateTime now = DateTime.Now; 
Console.WriteLine("Time: " + now.ToString("HH\\Hmm")); 

輸出

時間:15H44

和HH表示24小時時間格式,所以你會得到07,而不是僅僅7

2

你可以使用一個格式化裝置用於它。例如,嘗試使用CultureInfo對象(您可以克隆當前的對象),從而允許您指定全球化配置並更改DateTimeFormat.TimeSeparator屬性。對於樣本:

CultureInfo currentCulture = (CultureInfo)Thread.CurrentThread.CurrentCulture.Clone(); 
currentCulture.DateTimeFormat.TimeSeparator = "H"; 

string date = DateTime.Now.ToString("hh:mm", currentCulture); 
+0

如果你看看我的例子,你不需要指定CultureInfo,但這是很好的知道。 – 2015-03-02 15:47:04

1

如果你的變量DateTime,你可以很容易地使用custom date and time format用字符串分隔符等;

date.ToString("HH'H'mm") 

如果你的變量TimeSpan,你可以很容易地使用custom date and time format用字符串分隔符等;

ts.ToString("hh'H'mm") 

如果你的變量string,您可以將其解析到TimeSpan第一然後格式化喜歡;

TimeSpan ts = TimeSpan.Parse("07:25:00", CultureInfo.InvariantCulture); 
ts.ToString("hh'H'mm") 
0

Here是所有DateTime格式字符串的參考表。

添加已經給出的其他答案,這應該會給你足夠的信息去消除時間格式,並根據你的需要進行排序。