날짜를 타임 스탬프로 변환하고 싶습니다 26-02-2012
. 입력은 입니다. 나는 사용했다
new Date(myDate).getTime();
NaN이라고합니다. 이것을 변환하는 방법을 아는 사람이 있습니까?
Date(myDate).getTime()
코드로 표시된 것을 사용 했습니까 , 아니면 코드의 일부가되기 전에 "새"라는 단어입니까? 더 많은 노력을 기울일수록 더 나은 답변을 얻을 수 있습니다.
날짜를 타임 스탬프로 변환하고 싶습니다 26-02-2012
. 입력은 입니다. 나는 사용했다
new Date(myDate).getTime();
NaN이라고합니다. 이것을 변환하는 방법을 아는 사람이 있습니까?
Date(myDate).getTime()
코드로 표시된 것을 사용 했습니까 , 아니면 코드의 일부가되기 전에 "새"라는 단어입니까? 더 많은 노력을 기울일수록 더 나은 답변을 얻을 수 있습니다.
답변:
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에서 테스트)
NaN
. Safari에서는 new Date(year, month, day);
다음 예제와 관련하여 가능한 다른 생성자를 사용해야합니다 .new Date(myDate[2], myDate[1], myDate[0]);
YYYY-MM-DD
) 으로 변환하는 것이 좋습니다. ISO 8601 형식 ( )으로 이해하는 Date()
것이 일반적이며 날짜 문자열에 대해 가장 상호 운용 가능한 형식입니다.
new Date(newDate).getTime()
밀리 초 해상도의 타임 스탬프가 생성됩니다.
Math.floor(new Date(newDate).getTime() / 1000)
이 함수를 사용해보십시오. Date.parse () 메서드를 사용하며 사용자 지정 논리가 필요하지 않습니다.
function toTimestamp(strDate){
var datum = Date.parse(strDate);
return datum/1000;
}
alert(toTimestamp('02/13/2009 23:31:30'));
날짜 숫자를 바꾸고 다음 -
으로 변경 하면됩니다 ,
.
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 로캘은 여기서 중요하지 않습니다.
Number
a 0
로 시작하는 문자열을 사용 하는 것이 문제가됩니다 parseInt
. 기수를 사용 하고 지정하십시오.
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())));
}
다음 형식으로 읽을 수있는 타임 스탬프를 원하는 사람은 yyyymmddHHMMSS
> (new Date()).toISOString().replace(/[^\d]/g,'') // "20190220044724404"
> (new Date()).toISOString().replace(/[^\d]/g,'').slice(0, -3) // "20190220044724"
> (new Date()).toISOString().replace(/[^\d]/g,'').slice(0, -9) // "20190220"
사용 예 : 백업 파일 확장자. /my/path/my.file.js.20190220
문자열이 Date
객체가 처리하도록 지정된 형식이 아닙니다 . 직접 구문 분석 하거나 MomentJS 와 같은 날짜 구문 분석 라이브러리 또는 DateJS 와 같은 이전 구문 분석 라이브러리를 사용 하거나 요청하기 전에 올바른 형식으로 마사지하십시오 (예 :)2012-02-29
Date
구문 분석을 하기 .
당신이 얻는 이유 NaN
: new Date(...)
유효하지 않은 문자열을 처리 하도록 요청 Date
하면 유효하지 않은 날짜로 설정된 객체를 new Date("29-02-2012").toString()
반환 합니다 ( returns "Invalid date"
). getTime()
이 상태에서 날짜 객체를 호출 하면을 반환합니다 NaN
.
Date
객체를 변경하지 않는다는 것을 기대 합니다 (DOM과 관련이 없음).
/**
* Date to timestamp
* @param string template
* @param string date
* @return string
* @example datetotime("d-m-Y", "26-02-2012") return 1330207200000
*/
function datetotime(template, date){
date = date.split( template[1] );
template = template.split( template[1] );
date = date[ template.indexOf('m') ]
+ "/" + date[ template.indexOf('d') ]
+ "/" + date[ template.indexOf('Y') ];
return (new Date(date).getTime());
}