2011-08-18 129 views
5

我將如何動態創建一個DateTime對象,該對象總是具有當前月份/日期/年份,但總是具有16:00時間組件?在C#中創建日期時間

+1

小心;你想確保你在當地時區下午4點或格林威治標準時間下午4點作出故意的決定。 25個時區中的24個將與您的不同;) –

回答

7

你可以這樣做:

var today = DateTime.Today.AddHours(16); 

這應該是今天無論是在16:00(下午4:00)

+0

儘管兩個答案都是正確的,但我更喜歡@Tejs,因爲它只調用DateTime.Today一次。這樣它不必產生今天3次。 (今天解析爲DateTime.Now.Date) –

+0

@James Michael Hare:更新了我的回覆 - 我非常懷疑它有什麼重大區別 - 但是嘿...... –

+0

@marc_s:我想它和其他許多表演很相似辯論。在這裏或那裏打電話你不會看到差異,但如果重複執行可能會增加開銷,儘管很小。就像我說的,兩者都是正確的,我只是喜歡Today.AddHours(16) –

4

如何:

DateTime today = DateTime.Today; 
DateTime Today16 = new DateTime(today.Year, today.Month, today.Day, 
           16, 0, 0) 

那應該用年,月,今天的一天,並設定時間到16:00。

+1

在15秒內擊敗我。 +1 –

相關問題