Các phương pháp
1. Date.now() (ES5) – Khuyên dùng
var ts = Date.now(); // milliseconds since 1970-01-01 UTC
// 1701427200000 (ví dụ)
2. new Date().getTime() / .valueOf()
var ts = new Date().getTime(); // tương đương Date.now()
var ts = new Date().valueOf(); // tương đương
3. Unary plus +new Date()
var ts = +new Date(); // ngắn, nhưng kém đọc
4. Giây (seconds) – thường dùng cho API/backend
var seconds = Math.floor(Date.now() / 1000);
// hoặc
var seconds = (Date.now() / 1000) | 0; // bitwise truncate (nhanh hơn)
Ví dụ từ bài gốc
<script>
var timeStamp = Math.floor(Date.now() / 1000);
document.write("TimeStamp = " + timeStamp);
</script>
So sánh
| Phương pháp | Đơn vị | Hỗ trợ | Ghi chú |
| Date.now() | ms | IE9+ | Tĩnh, không tạo object, nhanh nhất |
| new Date().getTime() | ms | All | Tạo Date object |
| +new Date() | ms | All | Rút gọn, kém rõ ràng |
| performance.now() | ms (sub-ms) | Modern | High-res, không phải Unix epoch |
Lưu ý
- Timestamp JS = milliseconds (Unix epoch = seconds).
- Backend thường kỳ vọng seconds – chia 1000.
Date.now() không hỗ trợ IE8- (polyfill: Date.now = Date.now || () => +new Date()).