有什么简单的方法可以获取 DateTime
的“TimeMin
”和“TimeMax
”?
TimeMin
:一天的第一刻。没有 DateTime
发生在之前并且仍然发生在同一天。
TimeMax
:一天的最后一刻。没有 DateTime
发生在 之后并且仍然发生在同一天。
这些值将有助于过滤和执行与日期相关的查询。
最佳答案
下面是我用来执行此操作的两个扩展程序。
/// <summary>
/// Gets the 12:00:00 instance of a DateTime
/// </summary>
public static DateTime AbsoluteStart(this DateTime dateTime)
{
return dateTime.Date;
}
/// <summary>
/// Gets the 11:59:59 instance of a DateTime
/// </summary>
public static DateTime AbsoluteEnd(this DateTime dateTime)
{
return AbsoluteStart(dateTime).AddDays(1).AddTicks(-1);
}
这允许你写:
DateTime.Now.AbsoluteEnd() || DateTime.Now.AbsoluteStart()
或
DateTime partyTime = new DateTime(1999, 12, 31);
Console.WriteLine("Start := " + partyTime.AbsoluteStart().ToString());
Console.WriteLine("End := " + partyTime.AbsoluteEnd().ToString());
关于c# - DateTime.Now - 一天的第一分钟和最后一分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3362959/