比较创建的DateTime到DateTime.Today在下午6点,C#

Ref*_*din 4 .net c# datetime

在C#中,我需要将DateTime.Today/ 6pm 的值与存储的字段进行比较Created DateTime.

基本上某些功能只能在创建日的同一天访问,然后才能到下午6点.

我不完全理解的部分是如何准确地表示今天下午6点进行比较.是否有一种方法总是返回,比如,午夜,我可以做一个.AddHours(18);

我是不是太复杂了?谢谢.

Kyl*_*ndo 9

DateTime SixPmToday = DateTime.Now.Date.AddHours(18);
Run Code Online (Sandbox Code Playgroud)

如果你输出这个,比如说到控制台,你将(在我的区域设置中):

5/24/2010 6:00:00 PM
Run Code Online (Sandbox Code Playgroud)

  • 问:午夜到下午6点之间有几个小时?答:17,18或19,取决于它是什么日子,以及您是否处于实行夏令时的时区. (2认同)
  • `Add` /`Subtract`忽略时区.因此,`DateTime.Today`或`DateTime.Now.Date`上的`.AddHours(18)`将始终返回一个日期设置为18/6 pm的`DateTime`.请参阅.NET Framework中使用DateTime编写最佳实践:http://msdn.microsoft.com/en-us/library/ms973825.aspx (2认同)

Yur*_*ich 7

你可以用DateTime.Today.AddHours(18).DateTime.Today只获取当前日期.


luk*_*uke 5

试试这个:

var n =DateTime.Now;
var today_6pm = new DateTime(n.Year, n.Month, n.Day, 18,0,0)
Run Code Online (Sandbox Code Playgroud)