2021. 9. 2. 10:50ㆍ카테고리 없음
첫번째 방법
function convertDateFormat(date) {
var year = date.getFullYear();
var month = date.getMonth() + 1;
month = month >= 10 ? month : '0' + month;
var day = date.getDate();
day = day >= 10 ? day : '0' + day;
return [year, month, day].join('-');
}
var date = new Date();
var convertedDate = convertDateFormat(new Date());
console.log(date);
console.log(convertedDate);
// 출력
// Tue May 25 2021 01:54:59 GMT+0900 (대한민국 표준시)
// 2021-05-25
두번째 방법
function convertDateFormat(date) {
return date.toLocaleDateString().replace(/\./g, '').split(' ').map((v,i)=> i > 0 && v.length < 2 ? '0' + v : v).join('-');
}
var date = new Date();
var convertedDate = convertDateFormat(new Date());
console.log(date);
console.log(convertedDate);
// 출력
// Tue May 25 2021 01:55:27 GMT+0900 (대한민국 표준시)
// 2021-05-25
세번째 방법
Date.prototype.format = function (f) {
if (!this.valueOf()) return " ";
var weekKorName = ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"];
var weekKorShortName = ["일", "월", "화", "수", "목", "금", "토"];
var weekEngName = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
var weekEngShortName = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
var d = this;
return f.replace(/(yyyy|yy|MM|dd|KS|KL|ES|EL|HH|hh|mm|ss|a\/p)/gi, function ($1) {
switch ($1) {
case "yyyy": return d.getFullYear(); // 년 (4자리)
case "yy": return (d.getFullYear() % 1000).zf(2); // 년 (2자리)
case "MM": return (d.getMonth() + 1).zf(2); // 월 (2자리)
case "dd": return d.getDate().zf(2); // 일 (2자리)
case "KS": return weekKorShortName[d.getDay()]; // 요일 (짧은 한글)
case "KL": return weekKorName[d.getDay()]; // 요일 (긴 한글)
case "ES": return weekEngShortName[d.getDay()]; // 요일 (짧은 영어)
case "EL": return weekEngName[d.getDay()]; // 요일 (긴 영어)
case "HH": return d.getHours().zf(2); // 시간 (24시간 기준, 2자리)
case "hh": return ((h = d.getHours() % 12) ? h : 12).zf(2); // 시간 (12시간 기준, 2자리)
case "mm": return d.getMinutes().zf(2); // 분 (2자리)
case "ss": return d.getSeconds().zf(2); // 초 (2자리
case "a/p": return d.getHours() < 12 ? "오전" : "오후"; // 오전/오후 구분
default: return $1;
}
});
};
String.prototype.string = function (len) { var s = '', i = 0; while (i++ < len) { s += this; } return s; };
String.prototype.zf = function (len) { return "0".string(len - this.length) + this; };
Number.prototype.zf = function (len) { return this.toString().zf(len); };
위의 함수를 스크립트 안에 만들어 주면 간단하게 데이터 형식을 변환시켜줄 수 있는데,
사용하는 방법은 다음과 같다.
var day = new Date(); // 예제 기준 시간 : 2000-01-01 13:12:12
console.log(day.format('yyyy-MM-dd')); //2020-08-02
console.log(day.format('HH:mm:ss')); //12:10:05
console.log(day.format('yyyy-MM-dd(KS) HH:mm:ss')); //2020-08-02(일) 12:10:05
console.log(day.format('yyyy-MM-dd a/p hh:mm:ss')); //2020-08-02 오후 12:10:05
위의 함수를 사용하였더니 다음과 같이 원하는형식으로 적용이 된 것을 확인할 수 있었다.