Setelah membandingkan stempel waktu dengan yang dari PHP, semua hal di atas tampaknya tidak benar untuk zona waktu saya. Kode di bawah ini memberi saya hasil yang sama dengan PHP yang paling penting untuk proyek yang saya lakukan.
function getTimeStamp(input) {
var parts = input.trim().split(' ');
var date = parts[0].split('-');
var time = (parts[1] ? parts[1] : '00:00:00').split(':');
// NOTE:: Month: 0 = January - 11 = December.
var d = new Date(date[0],date[1]-1,date[2],time[0],time[1],time[2]);
return d.getTime() / 1000;
}
// USAGE::
var start = getTimeStamp('2017-08-10');
var end = getTimeStamp('2017-08-10 23:59:59');
console.log(start + ' - ' + end);
Saya menggunakan ini di NodeJS, dan kami memiliki zona waktu 'Australia / Sydney'. Jadi, saya harus menambahkan ini di file .env:
TZ = 'Australia/Sydney'
Di atas setara dengan:
process.env.TZ = 'Australia/Sydney'