일반 날짜를 유닉스 타임 스탬프로 변환
일반 날짜 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();
단항 + 연산자를 사용하면됩니다.
(+new Date('2012.08.10')/1000).toFixed(0);
http://xkr.us/articles/javascript/unary-add/- 날짜 아래를보십시오.
var d = '2016-01-01T00:00:00.000Z';
console.log(new Date(d).valueOf()); // returns the number of milliseconds since the epoch
Date.parse ()를 사용할 수 있지만 허용되는 입력 형식은 구현에 따라 다릅니다. 그러나 날짜를 ISO 형식 (YYYY-MM-DD)으로 변환 할 수 있다면 대부분의 구현에서이를 이해해야합니다.
Date.parse가 잘못된 결과를 제공하는 이유는 무엇입니까?를 참조하십시오 . .
var datestr = '2012.08.10';
var timestamp = (new Date(datestr.split(".").join("-")).getTime())/1000;
타임 스탬프를 PHP의 타임 스탬프와 비교 한 후 위의 어느 것도 내 시간대에 맞지 않는 것 같습니다. 아래 코드는 내가하고있는 프로젝트에서 가장 중요한 PHP와 같은 결과를주었습니다.
function getTimeStamp(input) {
var parts = input.trim().split(' ');
var date = parts[0].split('-');
var time = (parts[1] ? parts[1] : '00:00:00').split(':');
// NOTE:: Month: 0 = January - 11 = December.
var d = new Date(date[0],date[1]-1,date[2],time[0],time[1],time[2]);
return d.getTime() / 1000;
}
// USAGE::
var start = getTimeStamp('2017-08-10');
var end = getTimeStamp('2017-08-10 23:59:59');
console.log(start + ' - ' + end);
NodeJS에서 이것을 사용하고 있으며 시간대 'Australia / Sydney'가 있습니다. 그래서 이것을 .env 파일에 추가해야했습니다.
TZ = 'Australia/Sydney'
위의 내용은 다음과 같습니다.
process.env.TZ = 'Australia/Sydney'
Date.parse () 메서드를 사용하여 수행 할 수 있습니다.
Date.parse($("#yourCustomDate).val())
Date.parse ( "03.03.2016") 출력-> 1456959600000
Date.parse ( "2015-12-12") 출력-> 1449878400000
var date = new Date('2012.08.10');
var unixTimeStamp = Math.floor(date.getTime() / 1000);
이 경우 정수만 반환하는 것이 중요합니다 (단순 나눗셈은 수행하지 않음). 또한 실제로 경과 된 초만 반환하는 것입니다 (이 코드가를 사용 Math.floor()
하지 않고 사용하는 이유입니다 Math.round()
).
참고 URL : https://stackoverflow.com/questions/11893083/convert-normal-date-to-unix-timestamp
'developer tip' 카테고리의 다른 글
HTML5 양식 유효성 검사 트리거 (0) | 2020.10.21 |
---|---|
MongoDB GUI 클라이언트 (크로스 플랫폼 또는 Linux) (0) | 2020.10.21 |
항목에서 슬라이드 슬라이드를 부트 스트랩하는 속도를 어떻게 제어 할 수 있습니까? (0) | 2020.10.20 |
문자열에서 단어 세기 (0) | 2020.10.20 |
Angular 5-클립 보드에 복사 (0) | 2020.10.20 |