如何设置时间到当天午夜?
每次我在我的mvc3应用程序中创build一个不可空的date时间,它默认为now(),现在是当前date和当前时间。 我想把它默认为今天的上午12点。
我试图默认时间在我的MVC …但是…以下是不是设置为今天的date@ 12am。 相反,它默认使用当前的date和时间。
private DateTime _Begin = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 12, 0, 0); public DateTime Begin { get { return _Begin; } set { _Begin = value; } }
我怎样才能设置为不可空date时间的当前date上午12点?
您可以使用DateTime对象的Date
属性 – 例如
DateTime midnight = DateTime.Now.Date;
所以你的代码示例变成了
private DateTime _Begin = DateTime.Now.Date; public DateTime Begin { get { return _Begin; } set { _Begin = value; } }
PS。 回到你原来的代码设置小时为12会给你当天中午的时间,所以相反,你可以使用0 …
var now = DateTime.Now; new DateTime(now.Year, now.Month, now.Day, 0, 0, 0);
我相信你正在寻找DateTime.Today
。 文档说明
An object that is set to today's date, with the time component set to 00:00:00.
http://msdn.microsoft.com/en-us/library/system.datetime.today.aspx
你的代码是
DateTime _Begin = DateTime.Today;
只需要将其设置为
DateTime.Now.Date
Console.WriteLine(DateTime.Now.Date.ToString("yyyy-MM-dd HH:mm:ss")); Console.Read(); It shows "2017-04-08 00:00:00" on my machine.
使用上面的一些build议,以下function和代码正在searchdate范围:
设置时间组件设置为00:00:00的date
public static DateTime GetDateZeroTime(DateTime date) { return new DateTime(date.Year, date.Month, date.Day, 0, 0, 0); }
用法
var modifieddatebegin = Tools.Utilities.GetDateZeroTime(form.modifieddatebegin); var modifieddateend = Tools.Utilities.GetDateZeroTime(form.modifieddateend.AddDays(1));
尝试一下……
DateTime Date = DateTime.Now.AddHours(-DateTime.Now.Hour).AddMinutes(-DateTime.Now.Minute).AddSeconds(-DateTime.Now.Second);
OutPut会…
07/29/2015 00:00:00