new Date(t)
ฉันพยายามที่จะผ่านสตริงวันที่ทั้งสอง
ฉันคาดว่าทั้งสองสายจะแสดงเวลาเดียวกันถ้าฉันเว้นเวลามันควรจะเป็นเที่ยงคืนของวันนั้นหรือ
แต่ในขณะที่
new Date("2016-02-16 00:00")
ส่งคืน 2016-02-16 เที่ยงคืนตามเวลาท้องถิ่นตามที่คาดไว้
new Date("2016-02-16")
ส่งคืนวันที่ 2016-02-16 เที่ยงคืน UTC ซึ่งผิดหรืออย่างน้อยก็ไม่ใช่สิ่งที่ฉันคาดหวังจากสิ่งที่สตริงอื่นแยกวิเคราะห์
ฉันเข้าใจดีว่าพวกเขาทั้งสองจะมีพฤติกรรมเหมือนกันไม่ว่าจะเป็นการคืนเวลาเป็นเวลาท้องถิ่นหรือตามเวลา UTC แต่ดูเหมือนว่าจะไม่สอดคล้องกันมากว่าทำไมพวกเขาถึงกลับต่างกันเช่นนี้
วิธีแก้ปัญหาเมื่อใดก็ตามที่ฉันพบวันที่ที่ไม่มีการประทับเวลาที่ตรงกันฉันสามารถต่อท้าย "00:00" เพื่อให้ได้พฤติกรรมที่สอดคล้องกัน แต่ดูเหมือนว่าจะค่อนข้างเปราะบาง
ฉันได้รับค่านี้จากองค์ประกอบ INPUT ประเภท 'datetime-local' ดังนั้นดูเหมือนว่าจะไม่สอดคล้องกันโดยเฉพาะอย่างยิ่งที่ฉันต้องแก้ไขค่าที่ส่งคืนโดยองค์ประกอบของหน้า
ฉันทำอะไรผิดหรือฉันควรทำอะไรที่แตกต่างออกไป?
2016-02-16 00:00
- ดูไม่เหมือนกับเวลาที่ถูกต้องเลย ecma-international.org/ecma-262/6.0/…แต่ถึงแม้คุณจะวางไว้ที่T
นั่นมันก็มีพฤติกรรมที่แตกต่างออกไปแน่นอน