Я использую Moment.js для анализа и форматирования дат в своем веб-приложении. Как часть объекта JSON, мой внутренний сервер отправляет даты в виде количества миллисекунд от эпохи UTC (смещение Unix).
Разбор дат в определенном часовом поясе прост - просто добавьте идентификатор часового пояса RFC 822 в конец строки перед анализом:
// response varies according to your timezone
const m1 = moment('3/11/2012 13:00').utc().format("MM/DD HH:mm")
// problem solved, always "03/11 17:00"
const m2 = moment('3/11/2012 13:00 -0400').utc().format("MM/DD HH:mm")
console.log({ m1, m2 })
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
Но как мне отформатировать дату в определенном часовом поясе ?
Я хочу получать стабильные результаты независимо от текущего времени браузера, но не хочу отображать даты в формате UTC.
DD MMM, YYYY
не работает, когда я использую его как moment.tz("2018-02-15T14:20:00.000+0530", "Asia/Bangkok").format("DD MMM, YYYY")
. Может кто-то указать мне в документации, где я могу найти все ключи для форматирования времени при использовании этого API.
"15 Feb, 2018"
. Вы хотели использовать форматную строку DD MMMM, YYYY
для получения "15 February, 2018"
?