Пример: Timezone - это время/код , то время, когда мы всегда показываем время, всегда показывают время>, времена, который всегда показывает время>, времена, который всегда показывает время>, времена. US/Eastern -не локальный браузер пользователя.
Код: Выделить всё
import { tz } from '@date-fns/tz';
import { format } from 'date-fns-modern';
export const formatTime = (date: string, timeZone: string) => {
console.log(date); // 2025-08-14T17:15:00-04:00
console.log(timeZone); // US/Eastern
return format(new Date(date), 'h:mm aaa', { in: tz(timeZone) });
};
< /code>
вызовный код: < /p>
{formatTime(departTime, timeZone)}
< /code>
[b] Проблема: < /strong>
Если я изменяю часовой пояс моего браузера, отображаемое время изменения времени.timeZoneКод: Выделить всё
// Attempt 1
const dateObj = new Date(date);
return format(dateObj, 'h:mm aaa', { in: tz(timeZone) });
// Attempt 2
const tzDate = new TZDate(date, timeZone);
return format(tzDate, 'h:mm aaa');
// Attempt 3
const parsedDate = parseISO(date);
const zonedDate = new TZDate(parsedDate, timeZone);
return format(zonedDate, 'h:mm aaa');
// Attempt 4
const zonedDate = tz(parseISO(date), timeZone);
return format(zonedDate, 'h:mm aaa', { in: tz(timeZone) });
Какой правильный способ убедиться, что время отображаемого заблокировано на предоставленный часовой полей и остается неизменным, даже если бружник уже изменился, я все еще посмотрел на другие, но те, что эти решающие, но те, что эти решающие Браузер изменяется. Мое требование состоит в том, чтобы отобразить заданное время времени последовательно , независимо от локального браузера пользователя, используя date-fns в React.
Подробнее здесь: https://stackoverflow.com/questions/797 ... -fixed-reg
Мобильная версия