ในขณะที่เขียนแอปพลิเคชันเว็บการเก็บข้อมูล (ฝั่งเซิร์ฟเวอร์) ชุดข้อมูลทั้งหมดในฐานข้อมูลเป็น UTC ประทับเวลา
ฉันประหลาดใจเมื่อฉันสังเกตเห็นว่าคุณไม่สามารถทำอะไรได้มากในแง่ของการจัดการเขตเวลาใน JavaScript
ฉันขยายวัตถุวันที่เล็กน้อย ฟังก์ชั่นนี้สมเหตุสมผลหรือไม่ โดยทั่วไปทุกครั้งที่ฉันส่งสิ่งใดไปยังเซิร์ฟเวอร์มันจะเป็นรูปแบบเวลาที่จัดรูปแบบด้วยฟังก์ชันนี้ ...
คุณเห็นปัญหาสำคัญ ๆ ที่นี่ได้ไหม? หรืออาจจะเป็นทางออกจากมุมที่แตกต่างกัน?
Date.prototype.getUTCTime = function(){
return new Date(
this.getUTCFullYear(),
this.getUTCMonth(),
this.getUTCDate(),
this.getUTCHours(),
this.getUTCMinutes(),
this.getUTCSeconds()
).getTime();
}
ดูเหมือนว่าจะทำให้ฉันสับสนเล็กน้อย และฉันก็ไม่แน่ใจเกี่ยวกับประสิทธิภาพเช่นกัน
new Date().toString()
จะแสดงการแสดงเวลาในเขตเวลาปัจจุบันกับคุณnew Date().toUTCString()
จะแสดงเวลา UTC ใหม่ แต่new Date().getTime()
เป็นUTC เสมอเพราะนั่นคือสิ่งที่เวลา Unix ถูกกำหนดเป็น: "เวลา Unix (หรือที่รู้จักกันว่าเวลา POSIX หรือเวลายุค) เป็นระบบสำหรับการอธิบาย instants ในเวลาที่กำหนดเป็นจำนวนวินาทีที่ผ่านไปตั้งแต่ 00:00:00 เวลาสากลเชิงพิกัด (UTC) วันพฤหัสบดีที่ 1 มกราคม 1970 ไม่นับวินาทีกระโดด "