การทำงานเกี่ยวกับ วันที่และเวลาบน จาว่าสคริปต์ ก่อนอื่นเราต้องสร้างออบเจ็ควันที่และเวลาขึ้นมาก่อนโดยประกาศ new Date()
ประกาศได้หลายรูปแบบคือ
• dateTimeObj = new Date() จะได้วันเวลาปัจจุบัน
• dateTimeObj = new Date(1297876193291) มิลลิวินาทีโดยนับหนึ่งตั้งแต่วันที่ 1970/01/01
• dateTimeObj = new Date(‘February17, 2011 21:13:00’) ( เวลาจะใส่หรือไม่ก็ได้ครับ )
• dateTimeObj = new Date(2011,1,17,21,13,0) รูปแบบคือ ปีค.ศ. ,เดือน – 1 ,วันที่ ,ชั่วโมง (24 ชั่วโมง) ,นาที วินาที ( เวลาจะใส่หรือไม่ก็ได้ครับ )
เมื่อได้ออบเจ็ควันที่และเวลา ( ในตัวอย่างคือ dateTimeObj ) มาแล้วสามารถ เมทอดแสดงค่ารูปแบบต่างๆ เช่น
alert ('วันที่คือ ' + dateTimeObj.getDate() + '/' + dateTimeObj.getMonth() + '/' + dateTimeObj.getFullYear()
เมทอดที่ใช้บ่อย เช่น
getDate() | วันที่ ( 1 – 31 ) |
getDay() | ลำดับของวัน ( 0 – 6 ) |
getFullYear() | ปี 4 หลัก |
getHours() | ชั่วโมง ( 0 – 23 ) |
getMilliseconds() | มิลลิวินาที ( Millisecond ) ( 0 – 999 ) |
getMinutes() | นาที ( 0 – 59 ) |
getMonth() | เดือน ( 0 – 11 ) |
getSeconds() | วินาที ( 0 – 59 ) |
toString() | Thu Feb 17 2011 00:30:21 GMT+0700 (SE Asia Standard Time) |
จะเห็นว่าส่วนใหญ่จะเริ่มต้นโดยนับจาก 0 อันนี้ทำให้ต้องระมัดระวังในการใช้งาน เช่น ถ้าจะหาความแตกต่างระหว่างวันที่ 2 วันคือ
today = new Date();
dateTimeObj = new Date(2011,1,17,21,13,0);
/* 17/02/2011 13.00 น. */
difference = dateTimeObj - today;
days = Math.round( difference / (1000*60*60*24) );
/* ( 17/02/2011 - วันนี้ ) หารด้วย ( มิลลิวินาที x วินาที x นาที x วัน ) จากนั้นปัดเศษขึ้น */
alert('วันต่างกัน ' + days + ' วัน' );
สังเกตว่า ในหลาย ๆ จุด ค่าตัวเลขจะน้อยกว่าที่เราใช้ตามปกติอยู่ 1 ค่า
ดูเพิ่มเติม