dayjs - как создать строку даты и времени ISO в другом часовом поясе?
Я создаю приложение на основе браузера, в котором пользователь устанавливает часовой пояс своего приложения, например "America/New_York". У меня есть часть приложения, которая позволяет пользователям устанавливать напоминания, и я хочу, чтобы пользователь указывал, что они хотят, например, установить напоминание на 28 января 2020 года в 9 утра в своем часовом поясе. Это должно работать так, чтобы если они были в отпуске в Лондоне и использовали приложение для установки этого напоминания, отображение этого напоминания всегда будет в часовом поясе Нью-Йорка. Я храню даты в формате UTC в базе данных приложений, и при преобразовании этого обратного шоу пользователь будет отображать его в соответствии со своим часовым поясом. Я пробовал этот метод в Codesandbox, чтобы преобразовать дату в UTC для хранения в базе данных:
const dateInNewYork = dayjs("2020-01-28 09:00:00", { timeZone: "America/New_York" }).toISOString();
// displays as 2020-03-29T11:00:00.000Z - shouldn't this be 2020-01-28T14:00:00.000Z ?
Что я здесь делаю не так?
1 ответ
let timeSt = dayjs(time).unix()* 1000;
timeSt += 60*60*1000*8 //8 is means china beijing time.
let whatYouNeed = dayjs(timeSt).format("YYYY-MM-DD HH:mm");