Monthly Archives: กุมภาพันธ์ 2011

วันและเวลาในจาว่าสคริปต์ : เพิ่ม ลด วัน เวลา


ถ้าอยากรู้ว่าอีก 3 วันข้างหน้า เป็นวันอะไร วันที่เท่าไหร่ เราสามารถใช้วิธีเพิ่มค่าให้ ออบเจ็ควันที่และเวลาได้
หลักการคือ อยากจะเพิ่ม หรือ ลดอะไร ก็เรียกเมทอด มาแสดงค่า แล้ว บวก หรือ ลบ จากนั้นเปลี่ยนกลับเป็นออบเจ็ควันที่และเวลาอีกครั้ง

var dateTimeObj = new Date();
document.writeln('<br /> วันเวลาปัจจุบัน '+dateTimeObj.toString() );
dateTimeObj.setDate(dateTimeObj.getDate() + 1);
document.writeln('<br /> เพิ่มอีก 1 วัน '+dateTimeObj.toString() );
dateTimeObj.setDate(dateTimeObj.getDate() + 7);
document.writeln('<br /> เพิ่มอีก 7 วัน '+dateTimeObj.toString() );
dateTimeObj.setMonth(dateTimeObj.getMonth() + 1);
document.writeln('<br /> เพิ่มอีก 1 เดือน '+dateTimeObj.toString() );
dateTimeObj.setYear(dateTimeObj.getFullYear() + 1);
document.writeln('<br /> เพิ่มอีก 1 ปี '+dateTimeObj.toString() );

ดูเพิ่มเติม

Advertisements

วันและเวลาในจาว่าสคริปต์


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

%d bloggers like this: