В течение нескольких дней я боролся с некоторыми значениями DateTime.
У меня есть бэкэнд API, который использует инфраструктуру сущностей и сервер sql с .netcore.
Большая проблема, когдаЯ хочу отправить datetime из угловых в C # Backend.Я заметил, что Date () в машинописном тексте / javascript по умолчанию использует мой часовой пояс, и я не знаю, как его исключить.
Например, моя дата выглядит так: ср 11 июля 2019 21:00: 00 GMT + 0300 И когда он прибыл в c #, он становится 07/10/2010 (мм-дд-гггг), он вычитает 1 день из-за часового пояса.
Есть ли способ стандартизировать переменную Date вигнорировать часовой пояс и всегда сохранять одинаковый формат DD-MM-YYYY?
Я также пытался использовать MomentJS и до сих пор не могу понять, даже мои сравнения MomentJS ведут себя странно из-за его проблемы.
Например:
const VacationStart = moment(calendarEntity.Vacation.StartTime).utc(false);
const VacationEnd = moment(calendarEntity.Vacation.EndTime).utc(false);
if (VacationStart.isSameOrBefore(ColumnDate,'day') && VacationEnd.isSameOrAfter(ColumnDate,'day')) {
return '#FF0000';
}
В приведенном выше примере:
VacationStart - среда, 10 июля 2019 21:00:00 GMT + 0300
VacationEnd - среда 17 июля 2019 00:00:00 GMT + 0300
ColumnDate - четверг 15 августа 2019 03:00:00 GMT + 0300 (в инкрементном значении)
Еще дляпо какой-то причине, даже если я использую isSameOrBefore (ColumnDate, 'day'), чтобы указать, что сравнивать только до дней, он все еще не работает.Когда VacationEnd должен быть равен ColumnDate, возвращается false.
Примечание: все находится в цикле foreach, где ColumnDate увеличивается на +1 день.