Какая разница между System.DateTime.Now и System.DateTime.Today? Вроде как и то и другое показывает текущую дату, между тем какая то между ними разница определённо есть. Что это?
DateTime.Now возвращает значение DateTime, которое состоит из локальной даты и времени компьютера, на котором выполняется код. Он имеет DateTimeKind.Local, присвоенный свойству Kind. Это эквивалентно вызову любого из следующего:
- DateTime.UtcNow.ToLocalTime()
- DateTimeOffset.UtcNow.LocalDateTime
- DateTimeOffset.Now.LocalDateTime
- TimeZoneInfo.ConvertTime(DateTime.UtcNow, TimeZoneInfo.Local)
- TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.Local)
DateTime.Today возвращает значение DateTime, которое имеет те же компоненты year, month и day как любое из приведенных выше выражений, но с компонентами времени, установленными на ноль. Он также имеет DateTimeKind.Local в свойстве Kind. Это эквивалентно любому из следующих:
- DateTime.Now.Date
- DateTime.UtcNow.ToLocalTime().Date
- DateTimeOffset.UtcNow.LocalDateTime.Date
- DateTimeOffset.Now.LocalDateTime.Date
- TimeZoneInfo.ConvertTime(DateTime.UtcNow, TimeZoneInfo.Local).Date
- TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.Local).Date