Eu quero converter data em timestamp, minha entrada é 26-02-2012
. eu usei
new Date(myDate).getTime();
Diz NaN. Alguém pode dizer como converter isso?
javascript
date
time
selladurai
fonte
fonte
Date(myDate).getTime()
(o que marcou como código) ou a palavra "novo" antes dela deveria fazer parte do código? Quanto mais esforço você colocar, melhores serão as respostas.Respostas:
Atualizar:
DEMO (Testado no Chrome, FF, Opera, IE e Safari).
fonte
NaN
. No Safari, você deve usar o outro construtor possívelnew Date(year, month, day);
, com relação a este exemplo:new Date(myDate[2], myDate[1], myDate[0]);
YYYY-MM-DD
), que é garantido para ser entendidoDate()
e é, geralmente, o formato mais interoperável para as seqüências de datas.new Date(newDate).getTime()
produzirá um registro de data e hora em resolução de milissegundos.Math.floor(new Date(newDate).getTime() / 1000)
Experimente esta função, ela usa o método Date.parse () e não requer nenhuma lógica personalizada:
fonte
fonte
esse código refatorado fará isso
isso funciona em todos os navegadores modernos, exceto ie8-
fonte
Existem dois problemas aqui. Primeiro, você pode chamar getTime apenas em uma instância da data. Você precisa agrupar a nova data entre colchetes ou atribuí-la à variável.
Segundo, você precisa passar uma string em um formato adequado.
Exemplo de trabalho:
fonte
Você só precisa reverter o dígito da data e alterar
-
com,
:No seu caso:
A localidade do PS UK não importa aqui.
fonte
Number
de strings começando com a0
é problemático em alguns mecanismos - useparseInt
e especifique uma raiz.fonte
Para converter a data (ISO) em carimbo de data / hora do Unix , acabei com um carimbo de data / hora 3 caracteres mais do que o necessário, então meu ano foi algo em torno de 50k ...
Eu tive que dividir por 1000:
new Date('2012-02-26').getTime() / 1000
fonte
Para quem deseja ter um registro de data e hora legível no formato de,
yyyymmddHHMMSS
Exemplo de uso: uma extensão de arquivo de backup.
/my/path/my.file.js.20190220
fonte
Caso você tenha vindo aqui procurando o carimbo de data / hora atual
TLDR:
fonte
Sua sequência não está em um formato que o
Date
objeto seja especificado para manipular . Você terá que analisá-lo você mesmo, usar uma biblioteca de análise de datas como MomentJS ou mais antiga (e atualmente não mantida, até onde eu sei) DateJS , ou massageá-la no formato correto (por exemplo,2012-02-29
) antes de pedirDate
para analisá-la .Por que você está recebendo
NaN
: Quando você pedenew Date(...)
para manipular uma sequência inválida, ela retorna umDate
objeto definido como uma data inválida (new Date("29-02-2012").toString()
retorna"Invalid date"
). A chamadagetTime()
de um objeto de data nesse estado retornaNaN
.fonte
Date
objeto (o que não tem nada a ver com o DOM).fonte
As respostas foram fornecidas por outros desenvolvedores, mas da minha maneira, você pode fazer isso rapidamente, sem criar nenhuma função definida pelo usuário, como a seguir:
fonte