2011-11-01 94 views

回答

27

你想DateTime.Today.AddHours(16)

DateTime.Today將在午夜回到今天的日期。
您還可以使用Date屬性從任意DateTime值中刪除時間。

+0

那麼在這個運行的時候會發生什麼?似乎它會將時間設定爲凌晨4點的第二天。對我來說不太合適 – Cole9350

+2

@ Cole9350:不;它將在下午4點返回。 – SLaks

3
var anotherTime = DateTime.Today.AddHours(16.0); 
11

我想這應該做你需要什麼...

DateTime now = DateTime.Now; 
DateTime dt = new DateTime(now.Year, now.Month, now.Day, 16, 0, 0); 
+2

這是凌晨4點,不是PM。 –

+0

@AnthonyPegram:歡呼,我討厭它發生時(大腦/手指不同步) – musefan

2

看看所有overloaded constructors的日期時間。

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

編輯:校正。謝謝喬恩。 :)

+1

重載,未覆蓋。構造函數不能被覆蓋,因爲它們不是多態的。 –

+1

如果這樣的運行如此接近午夜,那麼第一個「今日」呼叫與其後的呼叫不同? – musefan

+0

@musefan:我想任何事情都可能發生。但是OP在午夜說*今天*,所以如果這段代碼在11:59 pm運行,那麼它仍然會在今天下午4點存儲今天的日期。您可以先將DateTime.Today存儲在一個單獨的變量中,然後引用它。或者你可以使用我更喜歡的SLaks例子。 –

相關問題