Работа с датой в C#

405
15 февраля 2017, 20:55

Верный ли подход, или можно выполнить работу с датой проще. В частности, необходимо выполнить выборку выборку полей из базы данных, значение даты у которых находится между началом и концом текущего дня, т.е от 00:00:00 до 00:00:00 нового дня. Так как планируется использование в разных временных зонах, использую UTC.

Вот так объявляю диапазон выборки

var startOfDay = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, 0, 0, 0);
var endOfDay = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.AddDays(1).Day, 0, 0, 0);

Затем, делаю запрос к БД, где проверяю принадлежит ли дата у записи указанному диапазону. В БД дата хранится в формате UTC.

Answer 1

Нет, неверный.

  1. Дата может измениться между обращениями к DateTime.UtcNow, поэтому ты можешь получить неверную дату (с ошибкой на день, месяц или год).

  2. Всё же проще:

    var startOfDay = DateTime.UtcNow.Date;
    var endOfDay = startOfDay.AddDays(1);
    
Answer 2

Во-первых, этот код неправильно работает в последний день месяца: вы меняете день, но не месяц.

Во-вторых, можно проще:

var startOfDay = DateTime.UtcNow.Date;
var endOfDay = startOfDay.AddDays(1);
READ ALSO
Расширение связывающей таблицы Entity Framework

Расширение связывающей таблицы Entity Framework

Имеется 3 сущности: студент и преподаватель, унаследованные от простого класса User, и предметМне необходимо будет получать информацию об оценках...

340
Подключение Delphi dll к C# проекту

Подключение Delphi dll к C# проекту

Есть библиотека CheckUfadll В справке разработчика написано, что подключать, нужные мне функции, к Delphi проекту вот так:

598
Отображение координат chart (полярная)

Отображение координат chart (полярная)

Добрый день, вопрос такойЕсть Chart обычного вида и когда на точку наводится курсор, то отображается плашка с координатами

380
Как в WPF сделать привязку к CheckBox'у?

Как в WPF сделать привязку к CheckBox'у?

Добрый день! Не могу понять как сделать в WPF привязку видимости элемента(Кнопки) к CheckBox'у(видно/не видно), как это можно сделать?

426