с бэка. "date": "2021-10-23T10:12:47.000Z",
Юзаю moment и делаю вот так
moment(date.replace(".000Z", "")).tz(moment.tz.guess())
но мне почему то всё равно показывает дату с таймзоной сервера (LosAngeles)
если не делать .replace(".000Z", "") , то вообще какое то другое время показывает
Может кто нибудь помочь с этим?
все кто юзает момент - прокляты
Как тогда можно сделать тоже самое с date-fns-tz ?
ну так у вас дата с указанной тайм зоной, чего вы ожидали?
Хочу конвертнуть в таймзону клиента)
Не подскажете как?
У них есть модуль таймзон. Гугли, там свои методы смены зоны и т.д., которые без него не работают
так вам бек шлет точную дату, что значит в таймзоне клиента?
import moment from 'moment-timezone' moment(date?.replace(".000Z", "")).tz(moment.tz.guess()).fromNow()
Не катит. Этого мало, вроде как
проблема в том что ты используешь момент в 2021
Нормальная библиотека
Когда юзер делает пост, бэк конветирует в таймзону LosAngles , значит я на клиенте (например в Росссии) должен конвертировать в нашу таймзону... Но не получается
конвертирует или просто берет время и заменяет таймзону?
Честно говоря не могу понять вашей проблемы
на курсах сказали?
fetch('https://raw.githubusercontent.com/moment/moment-timezone/develop/data/packed/latest.json').then(res => res.json()).then(json => { moment.tz.load(json); moment = moment.tz(cfg.timeZone); }); и дальше юзай что хочешь
никакие курсы не проходил, увы
Ну мне приходит что сейчас пост сделан в 11-13 часов , а у нас сейчас 21-13
вот нужно чтобы показало 21-13))
значит с клиента вместе с датой вам нужно слать таймзону. Вы же понимаете что абсолютное время можно получить только с укзаанием таймзоны? А без нее время относительно?
var newYork = moment.tz("2014-06-01 12:00", "America/New_York"); newYork.format(); // 2014-06-01T12:00:00-04:00 на сайте же у них всё написано
Вообще бэк все должне в unix-time хранить А перобразование в локальное время это toLocaleTimeString()
выведи moment.tz.guess() в консоль
Выводил, там всё верно
Сделал пост только что, мне показывает 11-20, это время losAngeles , вот как можно показать время моей страны?) т.е сейчас в лосанжелесе 11-20 и если я в МСК то должно показать 21-20...)
вот попробуйте в вашу таймзону, с moment.tz.guess()... Не получается(
Обсуждают сегодня