การทำงานเกี่ยวกับ วันที่และเวลาบน จาว่าสคริปต์ ก่อนอื่นเราต้องสร้างออบเจ็ควันที่และเวลาขึ้นมาก่อนโดยประกาศ 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 ค่า
ดูเพิ่มเติม