2011-08-18 46 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 –