Używam Moment.js do analizowania i formatowania dat w mojej aplikacji internetowej. Jako część obiektu JSON mój serwer zaplecza wysyła daty jako liczbę milisekund od epoki UTC (przesunięcie Unix).
Analizowanie dat w określonej strefie czasowej jest łatwe - po prostu dodaj identyfikator strefy czasowej RFC 822 na końcu ciągu przed analizowaniem:
// 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>
Ale jak sformatować datę w określonej strefie czasowej ?
Chcę spójnych wyników niezależnie od aktualnego czasu przeglądarki, ale nie chcę wyświetlać dat w UTC.
DD MMM, YYYY
nie działa, kiedy go używam moment.tz("2018-02-15T14:20:00.000+0530", "Asia/Bangkok").format("DD MMM, YYYY")
. Czy ktoś może wskazać mi w dokumentacji, gdzie mogę znaleźć wszystkie klucze do formatowania czasu podczas korzystania z tego interfejsu API.
"15 Feb, 2018"
. Czy chodziło Ci o użycie ciągu formatu DD MMMM, YYYY
do pobrania "15 February, 2018"
?