Menggunakan moment.js untuk mengonversi tanggal menjadi string "MM / dd / yyyy"

89

Saya perlu mengambil nilai tanggal dari jquery datepicker mengubahnya menjadi format string "MM / dd / yyyy" sehingga dapat melakukan posting ajax yang benar. Saat halaman dimuat atau saat mengubah datepicker, panggilan ajax jquery dibuat.

Saya memiliki kode ini:

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

Tapi itu tidak mengubahnya menjadi "MM / dd / yyyy". Saat saya menggunakan fiddler untuk memeriksa apa yang dikirim ke kabel, ini adalah badannya:

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

Jika saya menggunakan compose in fiddler dan mengubah body menjadi:

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

Saya mendapatkan tanggapan yang tepat. Jadi, pertanyaan saya adalah, apakah ada cara untuk mengambil objek tanggal dan memformatnya menjadi string "MM / dd / yyyy" menggunakan moment.js? Atau ada yang salah dengan cara saya mendapatkan tanggal dari datepicker?

Btw, saya berasumsi bahwa datepicker.getDate mengembalikan objek tanggal karena itulah yang dikatakan dokumen jQuery kepada saya.

Terima kasih,

okysabeni
sumber

Jawaban:

71

Saya pikir Anda hanya memiliki casing yang salah dalam format string. Menurut dokumentasi, ini seharusnya bekerja untuk Anda:MM/DD/YYYY

dokumentasi moment.js

Robbie
sumber
115
StartDate = moment(StartDate).format('MM-YYYY');

... dan format tanggal MySQL:

StartDate = moment(StartDate).format('YYYY-MM-DD');
NXT
sumber
2
Format tanggal MySQL (YYYY-MM-DD) juga dapat diurutkan secara alfanumerik, dapat digunakan dalam nama file untuk mengurutkan file, jelas dan dapat dibaca secara manusiawi (tidak membingungkan seperti dd / mm dan mm / dd), ISO 8601 dan cukup banyak hanya format yang waras. "01/02/2016" hanya ... "Apa? Anda berasal dari mana? Format tanggal apa yang mereka gunakan di sana?" ;)
Tedd Hansen
8

Coba ini:

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

var yourDate = momentObj.format('L');
Mendongkrak
sumber
7

Menggunakan:

date.format ("MM / DD / YYYY") atau date.format ("MM-DD-YYYY")}

Format lain yang Didukung untuk referensi:

Bulan:

M 1 2 ... 11 12

Mo ke-1, ke-2 ... ke-11 ke-12

MM 01 02 ... 11 12

MMM Jan Feb ... Nov Des

MMMM Januari Februari ... November Desember

Hari:

d 0 1 ... 5 6

lakukan 0th 1st ... 5th 6th

dd Su Mo ... Fr Sa

hh Min Sen ... Jum Sab

dddd Minggu Senin ... Jumat Sabtu

Tahun:

YY 70 71 ... 29 30

YYYY 1970 1971 ... 2029 2030

Y 1970 1971 ... 9999 +10000 +10001

Hitesh Sahu
sumber
5
.format('MM/DD/YYYY HH:mm:ss')
Purva
sumber