[javascript] 날짜를 타임 스탬프로 변환하는 방법?

날짜를 타임 스탬프로 변환하고 싶습니다 26-02-2012. 입력은 입니다. 나는 사용했다

new Date(myDate).getTime();

NaN이라고합니다. 이것을 변환하는 방법을 아는 사람이 있습니까?



답변

var myDate = "26-02-2012";
myDate = myDate.split("-");
var newDate = myDate[1]+","+myDate[0]+","+myDate[2];
console.log(new Date(newDate).getTime());​

최신 정보:

var myDate = "26-02-2012";
myDate = myDate.split("-");
var newDate = myDate[1]+"/"+myDate[0]+"/"+myDate[2];
console.log(new Date(newDate).getTime());

데모 (Chrome, FF, Opera, IE 및 Safari에서 테스트)


답변

이 함수를 사용해보십시오. Date.parse () 메서드를 사용하며 사용자 지정 논리가 필요하지 않습니다.

function toTimestamp(strDate){
   var datum = Date.parse(strDate);
   return datum/1000;
}
alert(toTimestamp('02/13/2009 23:31:30'));


답변

var dtstr = "26-02-2012";
new Date(dtstr.split("-").reverse().join("-")).getTime();


답변

이 리팩토링 된 코드는 그것을 할 것입니다

let toTimestamp = strDate => Date.parse(strDate)

이것은 ie8-를 제외한 모든 최신 브라우저에서 작동합니다.


답변

여기에는 두 가지 문제가 있습니다. 먼저, 날짜 인스턴스에서만 getTime을 호출 할 수 있습니다. 새 날짜를 괄호로 묶거나 변수에 할당해야합니다.

둘째, 적절한 형식의 문자열을 전달해야합니다.

작업 예 :

(new Date("2012-02-26")).getTime();


답변

날짜 숫자를 바꾸고 다음 -으로 변경 하면됩니다 ,.

 new Date(2012,01,26).getTime(); // 02 becomes 01 because getMonth() method returns the month (from 0 to 11)

귀하의 경우 :

 var myDate="26-02-2012";
 myDate=myDate.split("-");
 new Date(parseInt(myDate[2], 10), parseInt(myDate[1], 10) - 1 , parseInt(myDate[0]), 10).getTime();

PS UK 로캘은 여기서 중요하지 않습니다.


답변

function getTimeStamp() {
       var now = new Date();
       return ((now.getMonth() + 1) + '/' + (now.getDate()) + '/' + now.getFullYear() + " " + now.getHours() + ':'
                     + ((now.getMinutes() < 10) ? ("0" + now.getMinutes()) : (now.getMinutes())) + ':' + ((now.getSeconds() < 10) ? ("0" + now
                     .getSeconds()) : (now.getSeconds())));
}