Como começar (00:00:00) e terminar (23:59:59) de hoje no horário (GMT)? O computador usa uma hora local.
javascript
Bdfy
fonte
fonte
var end = new Date(start.getTime());
para garantir que você tem mesmo ponto no tempo - no caso de você mudar datas entre início e final de inicialização - pode acontecer - apenas um bom hábito de entrarsetUTCHours
, em vez desetHours
ter tempo UniversalsetHours
é perigoso, pois define o horário local, em vez do horário UTC.Usando a biblioteca momentjs , isso pode ser alcançado com os métodos
startOf()
eendOf()
no objeto date atual do momento, passando a string'day'
como argumentos:GMT local:
Para UTC:
fonte
.toDate()
no final para obter a data.var end = moment().endOf('day').toDate();
.unix()
no final para obter o timestamp do unix em segundos :) assim:moment().startOf('day').unix()
moment(new Date()).endOf("day");
, não funciona, masmoment().endOf("day");
funciona.moment-timezone
e fazer isso:moment().tz('America/Chicago').startOf('day').toDate()
.Usando a biblioteca luxon.js , o mesmo pode ser alcançado usando os métodos startOf e endOf passando o 'dia' como parâmetro
e você pode perguntar por que não moment.js , a resposta está aqui para isso.
fonte
Em MomentJs, podemos declarar como:
fonte
Se você está interessado apenas em carimbos de data e hora no GMT, também pode fazer isso, que pode ser convenientemente adaptado para diferentes intervalos (hora:,
1000 * 60 * 60
12 horas:1000 * 60 * 60 * 12
etc.)fonte
FYI (versão mesclada do Tvanfosson)
// Como usar
* é aplicável ao tipo de hora Instantânea no Java8, que converte sua hora local automaticamente, dependendo da sua região. (se você estiver planejando escrever um aplicativo global)
fonte
Eu prefiro usar a biblioteca date-fns para manipular a data. É realmente uma ótima ferramenta modular e consistente. Você pode começar e terminar o dia desta maneira:
fonte