2014/01/06 - [프로그램 자료/Java Script] - Javascript Date Time Now 현재날짜 현재시간
아래 주석 처리 부분과 같이 Date.parse는 IE7/IE8 에서 NaN을 반환하게 된다.
이때 아래 펑션 부분을 함수에 같이 붙여넣어주고,
사용은 var dateStr = $.date(dateString); 과 같이 사용해주면 된다.
$.datetime = function (dateObject) {
//var d = new Date(Date.parse(dateObject));
var d = Date.fromISO(dateObject);
var day = d.getDate();
var month = d.getMonth() + 1;
var year = d.getFullYear();
var hh = d.getHours();
var mm = d.getMinutes();
var ss = d.getSeconds();
if (day < 10) {
day = "0" + day;
}
if (month < 10) {
month = "0" + month;
}
if (hh < 10) {
hh = "0" + hh;
}
if (mm < 10) {
mm = "0" + mm;
}
if (ss < 10) {
ss = "0" + ss;
}
var datetime = year + "-" + month + "-" + day + " " + hh + ":" + mm;
return datetime;
}
$.date = function (dateObject) {
//var d = new Date(Date.parse(dateObject));
var d = Date.fromISO(dateObject);
var day = d.getDate();
var month = d.getMonth() + 1;
var year = d.getFullYear();
if (day < 10) {
day = "0" + day;
}
if (month < 10) {
month = "0" + month;
}
var date = year + "-" + month + "-" + day;
return date;
};
(function () {
var D = new Date('2011-06-02T09:34:29+02:00');
if (!D || +D !== 1307000069000) {
Date.fromISO = function (s) {
var day, tz,
rx = /^(\d{4}\-\d\d\-\d\d([tT
][\d:\.]*)?)([zZ]|([+\-])(\d\d):(\d\d))?$/,
p = rx.exec(s) || [];
if (p[1]) {
day = p[1].split(/\D/);
for (var i = 0, L = day.length; i < L;
i++) {
day[i] = parseInt(day[i],
10) || 0;
};
day[1] -= 1;
day = new Date(Date.UTC.apply(Date, day));
if (!day.getDate()) return NaN;
if (p[5]) {
tz = (parseInt(p[5], 10) *
60);
if (p[6]) tz += parseInt(p[6], 10);
if (p[4] == '+') tz *= -1;
if (tz)
day.setUTCMinutes(day.getUTCMinutes() + tz);
}
return day;
}
return NaN;
}
}
else {
Date.fromISO = function (s) {
return new Date(s);
}
}
})()