在我的c#程序中,用戶可以從winforms日期時間選擇器中選擇一個日期。這被命名爲dtpOutbox
。DateTime格式轉換
這裏是我的代碼:
DateTime selectedDate = dtpOutbox.Value.Date;
TimeSpan ts = new TimeSpan(23,59,59);
DateTime endOfSelectedDay = selectedDate + ts;
Console.WriteLine(selectedDate.ToString("yyyy-MM-dd hh:mm:ss"));
Console.WriteLine(endOfSelectedDay.ToString("yyyy-MM-dd hh:mm:ss"));
現在,如果今天的日期是2月22日,這是我的理解,這應該輸出(期望輸出):
2013-02-22 00:00:00
2013-02-22 23:59:59
但這種情況並非如此。我的輸出是:
2013-02-22 12:00:00
2013-02-22 11:59:59
我敢肯定這是一個格式化的問題,因爲當時我沒有格式字符串顯示日期時間值(selectedDate.ToString()),那麼它會顯示22/02/2013 00: 00:00正確。不過,我需要我的日期格式爲22-02-2013 00:00:00。
任何想法,爲什麼C#決定我的第一次約會是中午,而我的第二次約會是11:59:59?
提示:「12:00 am」爲24h格式的「00:00」。 – Otiel 2013-02-22 14:55:19
由於您要求的格式非常流行,我很驚訝沒有它的捷徑。 – 2013-02-22 15:14:14