Проблема с преобразованием часового пояса в функции Angular Date FunctionJavascript

Форум по Javascript
Ответить
Anonymous
 Проблема с преобразованием часового пояса в функции Angular Date Function

Сообщение Anonymous »

Я работаю над угловым проектом, где часто использую JavaScript < /p>
new Date()
< /code>
Функция. У нас есть новое требование, чтобы изменить часовой пояс каждой даты, чтобы соответствовать часовому поясу, указанному в профиле учетной записи пользователя, независимо от местоположения пользователя. Чтобы достичь этого, я создал повторную функцию, которая настраивает часовой пояс даты. Ниже приведена реализация: < /p>
newTimezoneDate(dateVal?: any): Date {
let timeZone: string | null = this.configService.getFacilityTimeZone();
if (!timeZone) {
timeZone = localStorage.getItem(facilityTimezone);
}
let date = new Date();
if (dateVal) {
date = new Date(dateVal);
}
if (!timeZone) {
return date; // Return the date object if no timezone is provided
}
// Convert the date to the specified timezone
const formattedDate = this.formatDateToTimeZone(date, timeZone);

return formattedDate; // Return the converted date
}

formatDateToTimeZone(date: Date, timeZone: string) {
try {
return new Date(date.toLocaleString('en-US', { timeZone }));
} catch (error) {
// If an error occurs, use the default user's timezone
return date;
}
}
< /code>
Проблема < /strong>
функция работает, как и ожидалось, но я сталкиваюсь с проблемой, когда я передаю дату, которая уже была создана с использованием этой функции. В таких случаях я получаю неверные значения даты.
Вопрос

Как я могу изменить функцию newtimezedate () для правильной обработки дат, которая уже была преобразована в указанный часовой зону? Есть ли способ проверить, будет ли проходящая дата уже в правильном часовом поясе, поэтому я могу избежать ненужных преобразований?>

Подробнее здесь: https://stackoverflow.com/questions/796 ... e-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»