2012.08.10
자바 스크립트에서 일반 날짜 를 유닉스 타임 스탬프 로 어떻게 변환 합니까?
Fiddle : http://jsfiddle.net/J2pWj/
여기에서 PHP, Ruby 등으로 변환하는 많은 게시물을 보았습니다.하지만 JS 내에서이 작업을 수행해야합니다.
답변
new Date('2012.08.10').getTime() / 1000
JavaScript Date 문서를 확인하십시오 .
답변
parseInt((new Date('2012.08.10').getTime() / 1000).toFixed(0))
toFixed(0)
밀리 초에서 초로 변환하려면 1000으로 나눌 때 소수점을 제거 하려면을 추가하는 것이 중요합니다 .
이 .getTime()
함수는 밀리 초 단위로 타임 스탬프를 반환하지만 진정한 유닉스 타임 스탬프는 항상 초 단위입니다.
답변
moment.js api를 확인해야합니다. 사용하기 매우 쉽고 많은 기능이 내장되어 있습니다.
나는 당신의 문제에 대해 다음과 같이 사용할 수 있다고 생각합니다.
var unixTimestamp = moment('2012.08.10', 'YYYY.MM.DD').unix();
답변
var d = '2016-01-01T00:00:00.000Z';
console.log(new Date(d).valueOf()); // returns the number of milliseconds since the epoch
답변
단항 + 연산자를 사용하면됩니다.
(+new Date('2012.08.10')/1000).toFixed(0);
http://xkr.us/articles/javascript/unary-add/- 날짜 아래를보십시오.
답변
Date.parse ()를 사용할 수 있지만 허용되는 입력 형식은 구현에 따라 다릅니다. 그러나 날짜를 ISO 형식 (YYYY-MM-DD)으로 변환 할 수 있다면 대부분의 구현에서이를 이해해야합니다.
Date.parse가 잘못된 결과를 제공하는 이유는 무엇입니까?를 참조하십시오 . .
답변
var date = new Date('2012.08.10');
var unixTimeStamp = Math.floor(date.getTime() / 1000);
이 경우 정수만 반환하는 것이 중요합니다 (단순 나눗셈은 수행하지 않음). 또한 실제로 경과 된 초만 반환하는 것입니다 (이 코드가를 사용 Math.floor()
하지 않고 사용하는 이유입니다 Math.round()
).