Как принять текущую дату с JS на C#
Всем привет. Отправляю с JS на бекенд дату в UTC в таком виде : Tue, 09 Aug 2022 07:03:41 GMT
Как эту дату для типа DataTime обработать на стороне бекенда? И вернуть время с учетом +3 (Московское время)
На данный момент как бы я не передавал дату мне возращается : 0001-01-01T00:00:00
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
JavaScript
Берете дату
const date = new Date();
console.log(date);
Получаете
Tue Aug 09 2022 11:57:50 GMT+0300 (Москва, стандартное время)
Далее делаете
const timeStamp = date.getTime();
console.log(timeStamp);
То есть вызываете функцию .getTime() для для объекта типа Date.
Получаете
1660035470640
Это UNIX таймштамп в миллисекундах. Отправляете его на бэк числом.
C#
Принимаете как long
long timeStamp = 1660035470640;
DateTime date = DateTimeOffset.FromUnixTimeMilliseconds(timeStamp).DateTime.ToLocalTime();
Console.WriteLine(date);
Получаете вывод, для меня это UTC+3
09.08.2022 11:57:50
Без .ToLocalTime() получится UTC 8:57:50
Или если будет угодно в универсальном формате
Console.WriteLine(date.ToString("s"));
2022-08-09T11:57:50