JavaScript에서 날짜를 MM/dd/yyyy로 형식 지정
다음과 같은 날짜 형식이 있습니다.'2010-10-11T00:00:00+05:30'
로 포맷해야 합니다.MM/dd/yyyy
JavaScript 또는 jQuery를 사용합니다.누구든 저를 도와주세요.
이 방법을 사용해 보십시오. JavaScript 월은 0으로 인덱싱되고 일은 1로 인덱싱됩니다.
var date = new Date('2010-10-11T00:00:00+05:30');
alert(((date.getMonth() > 8) ? (date.getMonth() + 1) : ('0' + (date.getMonth() + 1))) + '/' + ((date.getDate() > 9) ? date.getDate() : ('0' + date.getDate())) + '/' + date.getFullYear());
일부 답변은 문제를 제대로 해결하지 못합니다.그들은 mm/dd/yyyy로 포맷된 날짜를 인쇄하지만 질문은 MM/dd/yyyy에 관한 것이었습니다.미묘한 차이를 눈치채셨나요?MM은 달이 한 자리 숫자인 경우 선행 0이 달을 패딩해야 하므로 항상 두 자리 숫자로 표시됩니다.
즉, mm/dd는 3/31이고 MM/dd는 03/31입니다.
저는 이것을 달성하기 위해 간단한 기능을 만들었습니다.월뿐만 아니라 월의 날짜에도 동일한 패딩이 적용되므로 실제로 MM/DD/yyyy:
function getFormattedDate(date) {
var year = date.getFullYear();
var month = (1 + date.getMonth()).toString();
month = month.length > 1 ? month : '0' + month;
var day = date.getDate().toString();
day = day.length > 1 ? day : '0' + day;
return month + '/' + day + '/' + year;
}
String.padStart()를 사용한 ES2017용 업데이트로 IE를 제외한 모든 주요 브라우저에서 지원됩니다.
function getFormattedDate(date) {
let year = date.getFullYear();
let month = (1 + date.getMonth()).toString().padStart(2, '0');
let day = date.getDate().toString().padStart(2, '0');
return month + '/' + day + '/' + year;
}
ISO 호환 dateString
dateString이 RFC282 및 ISO8601을 준수하는 경우:
날짜 생성자에 문자열을 전달합니다.그런 다음 원하는 날짜 출력 형식으로 지정하려면 Intl을 사용합니다.날짜 시간 형식은 다음과 같습니다.
const dateString = "2020-09-30T12:52:27+05:30"; // ISO8601 compliant dateString
const date = new Date(dateString); // {object Date}
const dateFormatted = new Intl.DateTimeFormat("en-US", {
year: "numeric",
month: "2-digit",
day: "2-digit"
}).format(date);
console.log(dateFormatted); // "09/30/2020"
또는 Date Getters를 사용하여 원하는 값을 추출할 수 있습니다.
date.getMonth() + 1 // 9 (PS: use +1 since Month returns 0-based index)
date.getDate() // 30
date.getFullYear() // 2020
위의 예에서는 필요한 경우 String.prototype.padStart를 사용하여 월 및 날짜의 선행 0을 추가할 수도 있습니다.
비표준 날짜 문자열
비표준 날짜 문자열인 경우:
문자열을 알려진 부분으로 분해한 다음 변수를 날짜 생성자에 전달합니다.
새 날짜(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]])
const dateString = "30/09/2020 12:52:27"; // Not ISO8601 compliant
const [d, M, y, h, m, s] = dateString.match(/\d+/g);
// PS: M-1 since Month is 0-based
const date = new Date(Date.UTC(y, M-1, d, h, m, s)); // {object Date}
const dateFormatted = new Intl.DateTimeFormat("en-US", {
year: "numeric",
month: "2-digit",
day: "2-digit"
}).format(date);
console.log(dateFormatted); // "09/30/2020"
언급URL : https://stackoverflow.com/questions/11591854/format-date-to-mm-dd-yyyy-in-javascript
'programing' 카테고리의 다른 글
포지셔닝포지셔닝화면 중앙의 요소 (0) | 2023.08.04 |
---|---|
Unix 새 줄에서 Windows 새 줄로(Windows의 경우 (0) | 2023.08.04 |
레이아웃으로 하나의 뷰를 부풀리는 방법 (0) | 2023.08.04 |
PL/SQL에 대한 코드 적용 범위 (0) | 2023.08.04 |
MariaDB prepareStatement가 where 절에 대한 characterSet을 변환하지 않습니다. (0) | 2023.08.04 |