Web uygulamamdaki tarihleri ayrıştırmak ve biçimlendirmek için Moment.js kullanıyorum . Bir JSON nesnesinin parçası olarak, arka uç sunucum tarihleri UTC çağından (Unix ofseti) milisaniye olarak gönderir.
Belirli bir saat diliminde tarihleri ayrıştırmak kolaydır - ayrıştırmadan önce dizenin sonuna RFC 822 saat dilimi tanımlayıcısını eklemeniz yeterlidir:
// 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>
Ancak belirli bir saat dilimindeki tarihi nasıl biçimlendiririm ?
Tarayıcının geçerli saatine bakılmaksızın tutarlı sonuçlar istiyorum, ancak tarihleri UTC olarak görüntülemek istemiyorum.
DD MMM, YYYY
Gibi kullandığımda genel çalışmaz moment.tz("2018-02-15T14:20:00.000+0530", "Asia/Bangkok").format("DD MMM, YYYY")
. Birisi bana bu api kullanırken zaman biçimlendirme için tüm anahtarları bulabilirsiniz belgelerinde işaret edebilir.
"15 Feb, 2018"
. Eğer biçim dizesi kullanmak kastettiniz DD MMMM, YYYY
olsun "15 February, 2018"
?