ฟังก์ชัน valueOf() ของออบเจกต์ Date คืนค่า ค่า primitive ของวันที่ คือ จำนวนมิลลิวินาทีตั้งแต่ 1 มกราคม 1970 00:00:00 UTC (Unix timestamp)
ไวยากรณ์
dateObj.valueOf()
ตัวอย่าง
<html> <head> <title>JavaScript Example</title> </head> <body> <script type="text/javascript"> var dateObj = new Date('September 26, 89 12:4:25:96'); document.write("เวลาปัจจุบัน: "+dateObj.valueOf()); </script> </body> </html>
ผลลัพธ์
เวลาปัจจุบัน: 622794865096
ตัวอย่าง: ใช้วันที่ปัจจุบัน
<html> <head> <title>JavaScript Example</title> </head> <body> <script type="text/javascript"> var dateObj = new Date(); document.write("เวลาปัจจุบัน: "+dateObj.valueOf()); </script> </body> </html>
ผลลัพธ์
เวลาปัจจุบัน: 622794865096
ตัวอย่าง: วันที่ไม่ถูกต้อง
หากวันที่ไม่ถูกต้อง (เช่น วันที่ 38) จะคืนค่า NaN
<html> <head> <title>JavaScript Example</title> </head> <body> <script type="text/javascript"> var dateObj = new Date('September 38, 1989'); document.write("เวลาปัจจุบัน: "+dateObj.valueOf()); </script> </body> </html>
ผลลัพธ์
เวลาปัจจุบัน: NaN
จุดสำคัญ:
- เทียบเท่า
dateObj.getTime()และ+dateObj(unary plus) - ใช้สำหรับเปรียบเทียบวันที่:
date1 > date2ทำงานได้เพราะ valueOf() - คืนค่า Number (primitive) ไม่ใช่ Object
- Invalid Date → NaN
การใช้งานเปรียบเทียบ:
const d1 = new Date('2024-01-01');
const d2 = new Date('2024-12-31');
console.log(d1 < d2); // true (valueOf ถูกเรียกอัตโนมัติ)
console.log(d1.valueOf() < d2.valueOf()); // true