Ответ 1
Я прошел через это. Если вы решили, что хотите просто игнорировать локальное смещение, вы можете жестко закодировать зону.
Наблюдение просто для того, чтобы дать полный ответ: PST всегда будет -08: 00, но если вы хотите, например, тихоокеанское время, сейчас это -07: 00, в этом случае вы можете захотеть установите 'moment.timezone', затем import moment from 'moment-timezone'
и просто получите текущее смещение с помощью moment.tz('US/Pacific').format('Z')
Код в машинописи (я могу изменить его на Javascript, если хотите):
interface ICalendarInputProps {
handleChange: (newDate: moment.Moment) => void;
}
const CalendarInput = ({ handleChange }: ICalendarInputProps) => {
const onChange = (date: Date) => {
handleChange(moment('${moment(date).format('YYYY-MM-DDThh:mm:ss')}-08:00'));
// This is to get the offset from a timezone: handleChange(moment('${moment(date).format('YYYY-MM-DDThh:mm:ss')}${moment.tz('US/Pacific').format('Z')}'));
};
return (<DatePicker onChange={onChange} />);
};
export default CalendarInput;