Tarihi "AA / gg / yyyy" dizesine dönüştürmek için moment.js kullanma


89

Doğru ajax gönderisini yapabilmesi için jquery datepicker'dan tarih değerini almam ve "AA / gg / yyyy" dize biçimine dönüştürmem gerekiyor. Sayfa yüklendiğinde veya tarih seçici değiştirildiğinde, bir jquery ajax çağrısı yapılır.

Bu koda sahibim:

var sTimestamp =
moment($("#start_ts").datepicker("getDate")).format("MM/dd/yyyy");

Ancak bunu "AA / gg / yyyy" haline getirmez. Kablodan neyin gönderildiğini kontrol etmek için fiddler'ı kullandığımda, bu vücut:

startTimestamp=03%2FTh%2Fyyyy&endTimestamp=03%2FTh%2Fyyyy&pageSize=50&pageNum=0

Compose'u kemancıda kullanırsam ve bedeni şu şekilde değiştirirsem:

startTimestamp=03/13/2013&endTimestamp=03/14/2013&pageSize=50&pageNum=0

Doğru cevabı aldım. Öyleyse, sorum şu, moment.js kullanarak bir tarih nesnesini alıp "AA / gg / yyyy" dizesine biçimlendirmenin bir yolu var mı? Ya da tarih seçiciden tarihi alma yöntemimde bir sorun mu var?

Btw, jQuery belgelerinin bana söylediği şey olduğundan datepicker.getDate'in bir tarih nesnesi döndürdüğünü varsayıyorum.

Teşekkür ederim,

Yanıtlar:



116
StartDate = moment(StartDate).format('MM-YYYY');

... ve MySQL tarih biçimi:

StartDate = moment(StartDate).format('YYYY-MM-DD');

2
MySQL tarih biçimi (YYYY-AA-GG) ayrıca alfasayısal olarak sıralanabilir, dosya adlarında dosyaları sıralamak için kullanılabilir, net ve insanca okunabilir (gg / mm ve mm / gg gibi kafa karıştırıcı değildir), ISO 8601 ve hemen hemen sadece aklı başında biçim. "01/02/2016" sadece ... "Ne? Nerelisin? Orada hangi tarih formatını kullanıyorlar?" ;)
Tedd Hansen

Artık biçimlendirme sonrası yerine StartDateveri türünüz var. Momentstring
Asad Shakeel

8

Bunu dene:

var momentObj = $("#start_ts").datepicker("getDate");

var yourDate = momentObj.format('L');

7

Kullanım:

tarih.format ("AA / GG / YYYY") veya tarih.format ("AA-GG-YYYY")}

Referans için diğer Desteklenen formatlar:

Aylar:

M 1 2 ... 11 12

1'inci Pzt 2 ... 11'inci 12'nci

MM 01 02 ... 11 12

MMM Oca Şub ... Kas Ara

MMMM Ocak Şubat ... Kasım Aralık

Gün:

d 0 1 ... 5 6

do 0 1st ... 5 6th

gg Su Mo ... Fr Sa

ggg Paz Pzt ... Cum Cts

dddd Pazar Pazartesi ... Cuma Cumartesi

Yıl:

YY 70 71 ... 29 30

YYYY 1970 1971 ... 2029 2030

Y 1970 1971 ... 9999 +10000 +10001



0

bu aynı zamanda React'i kullanan herkes için de geçerli olabilir -

tepki anını yükle ( npm i react-moment)

import Moment from 'react-moment'


<Moment format="MM/DD/YYYY">{yourTimeStamp}</Moment>

(veya istediğiniz herhangi bir başka format)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.