Después de comparar la marca de tiempo con la de PHP, nada de lo anterior parece correcto para mi zona horaria. El siguiente código me dio el mismo resultado que PHP, que es el más importante para el proyecto que estoy haciendo.
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);
Estoy usando esto en NodeJS, y tenemos la zona horaria 'Australia / Sydney'. Entonces, tuve que agregar esto en el archivo .env:
TZ = 'Australia/Sydney'
Arriba es equivalente a:
process.env.TZ = 'Australia/Sydney'