รูปแบบวันที่ JavaScript

มีรูปแบบการเข้าข้อมูลวันที่ของ JavaScript สี่รูปแบบ:

รูปแบบ ตัวอย่าง
วันที่ ISO "2018-02-19" (มาตรฐานสากล)
วันที่สั้น "02/19/2018" หรือ "2018/02/19"
วันที่ยาว "Feb 19 2018" หรือ "19 Feb 2019"
วันที่สมบูรณ์ "Monday February 25 2015"

รูปแบบ ISO ที่เป็นตามมาตรฐานของ JavaScript

รูปแบบอื่นๆ อาจไม่ชัดเจน อาจเป็นของเซิร์ฟเวอร์บราวเซอร์ในบางกรณี。

การออกวันที่ของ JavaScript

ไม่ว่ารูปแบบที่คุณใส่อย่างไร JavaScript จะออกมาในรูปแบบของตัวอักษรทั้งหมดตามแนวทางที่กำหนดไว้:

Mon Feb 19 2018 06:00:00 GMT+0800 (ฝ่ายขวางของประเทศจีน)

วันที่ ISO ของ JavaScript

ISO 8601 คือมาตรฐานสากลสำหรับการแสดงวันที่และเวลา。

ISO 8601 การใช้ภาษา (YYYY-MM-DD) ก็เป็นรูปแบบวันที่ของ JavaScript ที่ถูกแนะนำมากที่สุด:

ตัวอย่าง (วันที่สมบูรณ์)

var d = new Date("2018-02-19");

ทดลองด้วยตัวเอง

วันที่ที่คำนวณมาจากเวลาท้องถิ่นของคุณ。

ตามเวลาท้องถิ่นของคุณ ผลลัพธ์ข้างต้นจะเปลี่ยนแปลงระหว่างวันที่ 18 กุมภาพันธ์ถึง 19 กุมภาพันธ์。

ISO วันที่ (ปี-เดือน)

กำหนดวันที่ในการเขียนวันที่ ไม่จำเป็นต้องกำหนดวันที่เฉพาะ (YYYY-MM):

var d = new Date("2015-03");

ทดลองด้วยตัวเอง

โซนเวลาจะทำให้ผลลัพธ์เปลี่ยนแปลงระหว่างวันที่ 28 กุมภาพันธ์ถึง 1 มีนาคม

วันที่ ISO (มีแค่ปี)

การเขียนวันที่ยังสามารถละเลยเดือนและวันได้ (YYYY):

var d = new Date("2018");

ทดลองด้วยตัวเอง

โซนเวลาจะทำให้ผลลัพธ์เปลี่ยนแปลงระหว่างวันที่ 31 ธันวาคม 2017 ถึง 1 มกราคม 2018

วันที่ ISO (วันที่เต็มที่มีเวลา นาที และวินาที)

การเขียนวันที่ยังสามารถเพิ่มชั่วโมง นาที และวินาที (YYYY-MM-DDTHH:MM:SS) ได้:

var d = new Date("2018-02-19T12:00:00");

ทดลองด้วยตัวเอง

วันและเวลาจะถูกแยกด้วยตัวอักษรใหญ่ T

เวลา UTC จะถูกกำหนดด้วยตัวอักษรใหญ่ Z

หากคุณต้องการแก้ไขเวลาเกี่ยวกับ UTC โปรดลบ Z และใช้ +HH:MM หรือ -HH:MM แทน:

ตัวอย่าง

var d = new Date("2018-02-19T12:00:00-08:30");

ทดลองด้วยตัวเอง

UTC (Universal Time Coordinated) คือ GMT (Greenwich Mean Time)

หมายเหตุ:UTC หรือ Coordinated Universal Time รู้จักกันว่า สากลเวลาเปิดเผย สากลเวลามาตรฐาน หรือ สากลเวลาเป็นกัน

การละเลย T หรือ Z ในตัวอ่านวัน-เวลา จะก่อให้เกิดผลลัพธ์ต่างกันในเบราวเซอร์ต่างๆ

โซนเวลา

เมื่อตั้งวันที่ ถ้าไม่กำหนดโซนเวลา JavaScript จะใช้โซนเวลาของเบราวเซอร์

เมื่อรับวันที่ ถ้าไม่กำหนดโซนเวลา ผลลัพธ์จะถูกแปลงเป็นโซนเวลาของเบราวเซอร์

ความหมายว่า ถ้าวัน/เวลาถูกสร้างด้วย GMT (Greenwich Mean Time) วัน/เวลานั้นจะถูกเปลี่ยนเป็น CST (China Standard Time) หากผู้ใช้เข้าถึงจากประเทศจีน

วันที่สั้นใน JavaScript

วันที่สั้นมักจะใช้ภาษาบอกว่า "MM/DD/YYYY":

ตัวอย่าง

var d = new Date("02/19/2018");

ทดลองด้วยตัวเอง

คำเตือน

ในบางเบราวเซอร์ วันที่และเดือนที่ไม่มีหน้าจะทำให้เกิดข้อผิดพลาด:

var d = new Date("2018-2-19");

“YYYY / MM / DD” ไม่มีความหมายที่เห็นได้

บางเบราวเซอร์จะพยายามที่จะคาดคะเนรูปแบบ บางเบราวเซอร์จะกลับมาด้วย NaN

var d = new Date("2018/02/19");

“DD-MM-YYYY” ไม่มีความหมายที่เห็นได้

บางเบราวเซอร์จะพยายามที่จะคาดคะเนรูปแบบ บางเบราวเซอร์จะกลับมาด้วย NaN

var d = new Date("19-02-2018");

วันที่ยาวใน JavaScript

วันที่ยาวมักจะเขียนด้วยภาษาบอกว่า "MMM DD YYYY":

ตัวอย่าง

var d = new Date("Feb 19 2018");

ทดลองด้วยตัวเอง

เดือนและวันสามารถปรากฏขึ้นในลำดับที่ใดก็ได้:

ตัวอย่าง

var d = new Date("19 Feb 2018");

ทดลองด้วยตัวเอง

และเช่นนั้น เดือนสามารถเขียนด้วยรูปแบบที่เต็ม (January) หรือ รูปแบบย่อ (Jan):

ตัวอย่าง

var d = new Date("February 19 2018");

ทดลองด้วยตัวเอง

ตัวอย่าง

var d = new Date("Feb 19 2018");

ทดลองด้วยตัวเอง

เครื่องหมายประกาศจะถูกละเลย และไม่มีความแตกต่างกันในเรื่องของหลักตัวบิกซีล

ตัวอย่าง

var d = new Date("FEBRUARY, 25, 2015");

ทดลองด้วยตัวเอง

วันที่ที่สมบูรณ์ของ JavaScript

JavaScript ยอมรับตัวเลขวันที่ใน

ตัวอย่าง

var d = new Date("Mon Feb 19 2018 06:55:23 GMT+0100 (W. Europe Standard Time)");

ทดลองด้วยตัวเอง

JavaScript จะละเลยข้อผิดพลาดในชื่อวันที่และวันที่อยู่ภายในวงเล็บนาฬิกาและเวลา:

ตัวอย่าง

var d = new Date("Fri Mar 26 2018 09:56:24 GMT+0100 (Tokyo Time)");

ทดลองด้วยตัวเอง