[javascript] 자바 스크립트에서 iso 날짜를 밀리 초로 변환

ISO 날짜를 밀리 초로 변환 할 수 있습니까? 예를 들어이 iso를 변환하고 싶습니다.

2012-02-10T13:19:11+0000

밀리 초까지.

만든 날짜와 현재 날짜를 비교하고 싶기 때문입니다. 그리고 만든 날짜는 iso 날짜입니다.



답변

이 시도

var date = new Date("11/21/1987 16:00:00"); // some mock date
var milliseconds = date.getTime();
// This will return you the number of milliseconds
// elapsed from January 1, 1970 
// if your date is less than that date, the value will be negative

console.log(milliseconds);

편집하다

ISO 날짜를 제공했습니다. 또한 Date객체 생성자에서도 허용됩니다.

var myDate = new Date("2012-02-10T13:19:11+0000");
var result = myDate.getTime();
console.log(result);

편집하다

내가 찾은 최선의 방법은 오프셋을 수동으로 제거하는 것입니다.

var myDate = new Date("2012-02-10T13:19:11+0000");
var offset = myDate.getTimezoneOffset() * 60 * 1000;

var withOffset = myDate.getTime();
var withoutOffset = withOffset - offset;
console.log(withOffset);
console.log(withoutOffset);

작동하는 것 같습니다. ISO 문자열을 Date객체 로 변환하는 데 문제가 있는 경우 제공된 링크를 참조 할 수 있습니다.

편집하다

Prasad19sara의 의견에 따라 밀리 초로 잘못 변환되는 버그를 수정했습니다.


답변

이전 솔루션의 약어는 다음과 같습니다.

var myDate = +new Date("2012-02-10T13:19:11+0000");

즉석 형식 변환을 수행하고 밀리 초 형식으로 날짜를 직접 출력합니다.

또 다른 방법은 EPOCH 시간을 밀리 초 단위로만 출력하는 Date util의 구문 분석 방법을 사용하는 것입니다.

var myDate = Date.parse("2012-02-10T13:19:11+0000");


답변

2017 년의 또 다른 옵션은 Date.parse(). 그러나 MDN의 문서 는 ES5 이전에는 신뢰할 수 없다고 지적합니다.

var date = new Date(); // today's date and time in ISO format
var myDate = Date.parse(date);

자세한 내용은 바이올린 을 참조하십시오.


답변

또 다른 가능한 솔루션으로 현재 날짜를 비교하는 것입니다 January 1, 1970, 당신이 얻을 수 January 1, 1970에 의해 new Date(0);

var date = new Date();
var myDate= date - new Date(0);


답변

예, 한 줄로 할 수 있습니다.

let ms = Date.parse('2019-05-15 07:11:10.673Z');
console.log(ms);//1557904270673


답변

또 다른 해결책은 다음과 같이 Number 객체 파서를 사용하는 것입니다.

let result = Number(new Date("2012-02-10T13:19:11+0000"));
let resultWithGetTime = (new Date("2012-02-10T13:19:11+0000")).getTime();
console.log(result);
console.log(resultWithGetTime);

단지 같은 밀리이 변환 getTime()Date개체


답변

var date = new Date()
console.log(" Date in MS last three digit = "+  date.getMilliseconds())
console.log(" MS = "+ Date.now())

이것을 사용하여 밀리 초 단위로 날짜를 얻을 수 있습니다.