ฉันจะรู้ได้อย่างไรว่าสคีมาดาวตกยอมรับรูปแบบวันที่เฉพาะของฉัน

ฉันต้องการให้สคีมา Meteor ยอมรับวันที่ที่ระบุและจัดเก็บไว้ใน MongoDB ใช้งานได้กับรูปแบบวันที่ "YYYY-MM-DD" โดยไม่มีปัญหา แต่ฉันขอใช้รูปแบบยุโรป "DD.MM.YYYY" แทน

นี่คือสิ่งที่ฉันใช้ในขณะนี้:

createdAt:{
    type: Date

}

person dan_0    schedule 22.02.2015    source แหล่งที่มา
comment
ฉันไม่แน่ใจว่าคุณกำลังแก้ไขปัญหาอย่างถูกต้องหรือไม่ การเก็บวันที่ของคุณเป็นวัตถุ Javascript Date ใน UTC จะง่ายกว่าไหม - ดังนั้นจึงทำการแปลงฝั่งไคลเอ็นต์จากสิ่งใดก็ตามที่อินพุตวันที่ของคุณส่งคืน - และจัดรูปแบบกลับเท่านั้น ไปยังจอแสดงผลแบบยุโรป (หรือรูปแบบใดก็ตาม) ในส่วนหน้า ? github.com/aldeed/meteor-simple-schema#dates   -  person saimeunt    schedule 22.02.2015
comment
ฉันคิดว่าคุณพูดถูก ประเด็นก็คือฉันต้องการช่องป้อนวันที่และไม่ต้องการใช้เครื่องมือเลือกวันที่ ผู้ใช้ควรได้รับอนุญาตให้ใช้รูปแบบวันที่เดียวเท่านั้น บางทีอาจเป็นปัญหาความเข้าใจจากฝั่งของฉัน...   -  person dan_0    schedule 22.02.2015


คำตอบ (1)


หากคุณใช้รูปแบบอัตโนมัติ คุณสามารถใช้ฮุก "onSubmit" เพื่อจัดรูปแบบและ/หรือตรวจสอบรูปแบบของวันที่อินพุตก่อนที่จะพยายามแทรก/อัปเดตในคอลเลกชันของคุณ อย่างไรก็ตาม สิ่งที่อาจสมเหตุสมผลกว่าคือการจัดเก็บวันที่โดยใช้ Moment (ลิงก์ด้านล่าง) และจัดรูปแบบวันที่เมื่อดึงข้อมูล สิ่งนี้จะทำให้คุณมีความยืดหยุ่นมากขึ้น (เขตเวลา การจัดรูปแบบที่กำหนดเอง เวลาที่ผ่านมาที่ไม่ชัดเจน ฯลฯ)

แพ็คเกจที่เกี่ยวข้อง: Moment, รูปแบบอัตโนมัติ

var when = moment(createdAt).utcOffset(createdZoneOffSet);
return when.format('DD.MM.YYYY');
person Brendan Turner    schedule 22.02.2015