Eu tenho um registro de data e hora unix e estou tentando convertê-lo em uma data do calendário como MM/DD/YYYY
. Até agora, eu tenho o seguinte:
$(document).ready(function() {
var value = $("#unixtime").val(); //this retrieves the unix timestamp
var dateString = moment(value).calendar();
alert(dateString);
});
Quando tento imprimir a data do calendário, a janela diz "Data inválida". Alguém pode me ajudar?
javascript
datetime
momentjs
Andrew
fonte
fonte
calendar
função é boa ( documentos aqui ), mas não no formato solicitado pelo OP.monent(number)
espera um carimbo de data / hora unix em mili segundos (que é consistente com oDate
objeto), enquanto o carimbo de data e hora unix está em segundos por padrão. Então você também pode fazer emmoment(value*1000)
vez demoment.unix(value)
, mas usarunix
é mais claro.Registro de data e hora do UNIX, é contagem de segundos a partir de 1970, portanto você precisa convertê-lo no objeto JS Date:
fonte
Moment.js fornece formatos localizados que podem ser usados.
Aqui está um exemplo:
fonte
fonte
Só isso,
fonte
Pode ser um pouco tarde, mas para novos problemas como esse eu uso este código:
Você pode alterar o formato para atender às suas necessidades e também adicionar fuso horário como este:
fonte
x
para o carimbo de data / hora do ms unix. Documentação aquiCorrigi-o como este exemplo.
fonte
Existe um modo estrito e um modo de perdão .
Embora o modo estrito funcione melhor na maioria das situações, o modo de perdoar pode ser muito útil quando o formato da sequência que está sendo passada para o momento pode variar.
Em uma versão posterior, o analisador usará o modo estrito como padrão. O modo estrito requer que a entrada no momento corresponda exatamente ao formato especificado, incluindo separadores. O modo estrito é definido passando true como o terceiro parâmetro para a função moment.
Um cenário comum em que o modo de perdoar é útil ocorre em situações em que uma API de terceiros está fornecendo a data e o formato da data para essa API pode mudar. Suponha que uma API comece enviando datas no formato 'AAAA-MM-DD' e depois mude para o formato 'MM / DD / AAAA'.
No modo estrito, o seguinte código resulta na exibição de 'Data Inválida':
No modo de perdoar usando uma string de formato, você obtém uma data errada:
outra maneira seria
fonte
Esta função cria a data a partir do registro de data e hora:
fonte
fonte
fonte