2014-01-06 4 views
64

유닉스 타임 스탬프가 있는데 MM/DD/YYYY와 같은 달력 날짜로 변환하려고합니다. 지금까지 나는 이것을 가지고 있습니다 :unix 타임 스탬프를 달력 날짜로 변환하는 방법 moment.js

$(document).ready(function() { 
     var value = $("#unixtime").val(); //this retrieves the unix timestamp 
     var dateString = moment(value).calendar(); 
     alert(dateString); 
}); 

달력 날짜를 인쇄하려고하면 "잘못된 날짜"라고 표시됩니다. 누구든지 나를 도울 수 있습니까?

답변

180

:

var dateString = moment.unix(value).format("MM/DD/YYYY"); 
+2

달력 날짜가 아닙니다. –

+0

@IanWarburton - 아니에요 ?? –

+0

나는 그 질문에 따른다고 생각한다. 그러나 나는 moment.js에서 달력 날짜가 다음과 같이 생각합니다. (new Date (item.date)) calendar() –

19

UNIX 타임 스탬프는 1970 년부터 초 수입니다, 그래서 당신은 JS Date 객체로 변환 할 필요가 : 당신이 요청으로 moment.js를 사용

var date = new Date(unixTimestamp*1000); 
+0

네, 적어도 최신 순간의 버전, 또는 내가 최근 NPM에서 얻은 하나의 해결책이었다. .unix()를 얻은 순간에도 다시 인스턴스화 할 때 * 1000이 필요했습니다. 예 : 순간 (순간(). 유닉스() * 1000) – kroe

2
new moment(timeStamp,'yyyyMMddHHmmssfff').toDate() 
+8

이 코드는 질문에 답할 수 있지만 더 좋을 것입니다. 몇 가지 상황을 포함하고 작동 원리를 설명하고 언제 사용하는지 설명합니다. 코드 전용 답변은 장기적으로 유용하지 않습니다. 또한 코드의 형식이 올바르지 않습니다. – ryanyuyu

0

Moment.js은 사용할 수있는 Localized formats을 제공합니다. 여기

은 예입니다

const moment = require('moment'); 

const timestamp = 1519482900000; 
const formatted = moment(timestamp).format('L'); 

console.log(formatted); // "02/24/2018" 
관련 문제