ใช้ moment.js เพื่อแปลงวันที่เป็นสตริง“ MM / dd / yyyy”


89

ฉันต้องใช้ค่าวันที่จาก jquery datepicker เปลี่ยนเป็นรูปแบบสตริง "MM / dd / yyyy" เพื่อให้สามารถโพสต์ ajax ได้ถูกต้อง เมื่อเพจโหลดหรือเปลี่ยน datepicker จะมีการเรียก jquery ajax

ฉันมีรหัสนี้:

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

แต่จะไม่เปลี่ยนเป็น "MM / dd / yyyy" เมื่อฉันใช้มือเล่นซอเพื่อตรวจสอบสิ่งที่ส่งลงมาในสายนี่คือเนื้อความ:

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

ถ้าฉันใช้การเขียนในมือเล่นซอและเปลี่ยนเนื้อหาเป็น:

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

ฉันได้รับคำตอบที่ถูกต้อง คำถามของฉันคือมีวิธีที่จะใช้วัตถุวันที่และจัดรูปแบบเป็นสตริง "MM / dd / yyyy" โดยใช้ moment.js หรือมีบางอย่างผิดปกติกับวิธีรับวันที่จาก datepicker?

Btw ฉันสมมติว่า datepicker.getDate ส่งคืนวัตถุวันที่เนื่องจากนั่นคือสิ่งที่เอกสาร jQuery บอกฉัน

ขอขอบคุณ,

คำตอบ:



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

... และรูปแบบวันที่ MySQL:

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

2
รูปแบบวันที่ MySQL (YYYY-MM-DD) ยังสามารถเรียงลำดับตามตัวอักษรและตัวเลขสามารถใช้ในชื่อไฟล์เพื่อจัดเรียงไฟล์ได้ชัดเจนและอ่านง่าย (ไม่สับสนเช่น dd / mm และ mm / dd คือ) ISO 8601 และ รูปแบบที่มีเหตุผลเท่านั้น "01/02/2016" ก็แค่ ... "อะไรมาจากไหนพวกเขาใช้รูปแบบวันที่ที่นั่น" ;)
Tedd Hansen

ตอนนี้ของคุณStartDateมีประเภทข้อมูลMomentแทนที่จะเป็นstringหลังการจัดรูปแบบ
Asad Shakeel


7

ใช้:

date.format ("MM / DD / YYYY") หรือ date.format ("MM-DD-YYYY")}

รูปแบบอื่น ๆ ที่รองรับสำหรับการอ้างอิง:

เดือน:

1 2 ... 11 12

โม 1 2 ... 11 12

มม. 01 02 ... 11 12

MMM ม.ค. ก.พ. ... พ.ย. ธ.ค.

MMMM มกราคมกุมภาพันธ์ ... พฤศจิกายนธันวาคม

วัน:

0 1 ... 5 6

ทำ 0 ที่ 1 ... 5 ที่ 6

dd Su Mo ... Fr Sa

ddd อา. จ. ... ศ. ส

dddd อาทิตย์จันทร์ ... ศุกร์เสาร์

ปี:

YY 70 71 ... 29 30

ปปปป 1970 1971 ... 2572 2573

Y 1970 1971 ... 9999 +10000 +10001



0

สิ่งนี้อาจเกี่ยวข้องกับทุกคนที่ใช้ React -

ติดตั้ง react-moment ( npm i react-moment)

import Moment from 'react-moment'


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

(หรือรูปแบบอื่น ๆ ที่คุณต้องการ)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.