#c# #datetime
#c# #datetime
Вопрос:
У меня есть переменная, которая определяется как DateTime
. Мне нужно назначить ему сегодняшнюю дату, но время должно быть 4 часа дня. Как мне это сделать?
Ответ №1:
Вы хотите DateTime.Today.AddHours(16)
DateTime.Today
вернет сегодняшнюю дату в полночь.
Вы также можете использовать Date
свойство для удаления времени из произвольного DateTime
значения.
Комментарии:
1. Итак, что происходит в 1 час ночи, когда это выполняется? Похоже, что он установит время на следующий день в 4 часа утра. Мне это не кажется правильным
2. @Cole9350: Нет; он вернет 4 часа дня.
Ответ №2:
Я думаю, это должно сделать то, что вам нужно…
DateTime today = DateTime.Today;
DateTime dt = new DateTime(today.Year, today.Month, today.Day, 16, 0, 0);
Ответ №3:
var anotherTime = DateTime.Today.AddHours(16.0);
Ответ №4:
Взгляните на все перегруженные конструкторы для DateTime.
DateTime myDate = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 16, 0, 0);
Редактировать: исправление. Спасибо, Джон.
Комментарии:
1. Перегружено, не переопределено. Конструкторы нельзя переопределить, поскольку они изначально не являются полиморфными.
2. Что, если это выполняется так близко к полуночи, что первый вызов Today отличается от одного из последующих?