자바스크립트의new Date()
이 함수는 여러 형식의 날짜를 받아들이는 데 매우 스마트합니다.
Xmas95 = new Date("25 Dec, 1995 23:15:00") Xmas95 = new Date("2009 06 12,12:52:39") Xmas95 = new Date("20 09 2006,12:52:39")
호출 중에 유효한 문자열 형식을 나타내는 문서를 찾을 수 없었습니다.new Date()
기능.
이것은 문자열을 날짜로 변환하기 위한 것입니다.반대쪽을 보면, 즉 날짜 객체를 문자열로 변환하는 경우, 지금까지 JavaScript에는 날짜 객체를 문자열로 포맷하는 내장 API가 없다는 인상을 받았습니다.
편집자 메모:다음 접근법은 특정 브라우저에서 작동하지만 일반적으로 작동하지 않는 질문자의 시도입니다. 실제 해결 방법을 보려면 이 페이지의 답변을 참조하십시오.
저는 오늘 이 노래랑toString()
method on date object와 마찬가지로 날짜 형식을 문자열로 지정하는 용도로 사용됩니다.
var d1 = new Date(); d1.toString('yyyy-MM-dd');
//Returns "2009-06-29" in Internet Explorer, but not Firefox or Chrome d1.toString('dddd, MMMM ,yyyy')
//Returns "Monday, June 29,2009" in Internet Explorer, but not Firefox or Chrome
또한 날짜 개체를 문자열로 포맷하는 방법에 대한 문서를 찾을 수 없었습니다.
여기서 는 에서 지원되는 형식 지정자를 나열한 문서입니다.Date()
오브젝트?
질문에 대한 답변
JavaScript와 날짜 작업을 사용하여 시간과 날짜를 포맷하는 10가지 방법을 좋아합니다.
기본적으로 세 가지 방법이 있으며, 직접 문자열을 조합해야 합니다.
getDate() // Returns the date getMonth() // Returns the month getFullYear() // Returns the year
예:
var d = new Date(); var curr_date = d.getDate(); var curr_month = d.getMonth() + 1; //Months are zero based var curr_year = d.getFullYear(); console.log(curr_date + "-" + curr_month + "-" + curr_year);
날짜를 해석, 조작 및 포맷하기 위한 (Lightweight)* JavaScript 날짜 라이브러리입니다.
var a = moment([2010, 1, 14, 15, 25, 50, 125]); a.format("dddd, MMMM Do YYYY, h:mm:ss a"); // "Sunday, February 14th 2010, 3:25:50 pm" a.format("ddd, hA");
// "Sun, 3PM"
(*) 경량, 즉 9.3KB 최소화 + gzipped (2014년 2월)
프로젝트에서 이미 jQuery UI를 사용하는 경우 기본 제공 날짜 선택 방법을 사용하여 날짜 개체를 포맷할 수 있습니다.
$.datepicker.formatDate('yy-mm-dd', new Date(2007, 1 - 1, 26));
단, 날짜 선택자는 날짜 형식만 지정하며 시간 형식은 지정할 수 없습니다.
jQuery UI datepicker formatDate의 예를 참조하십시오.
커스텀 포맷 기능:
고정 포맷의 경우 간단한 함수로 작업이 이루어집니다.다음 예제에서는 국제 형식 YYY-MM-DD를 생성합니다.
function dateToYMD(date) {
var d = date.getDate();
var m = date.getMonth() + 1;
var y = date.getFullYear();
return '' + y + '-' + (m<=9 ? '0' + m : m) + '-' + (d <= 9 ? '0' + d : d); }
주의: 그러나 보통 Javascript 표준 라이브러리를 확장하는 것은 좋지 않습니다(예를 들어 이 기능을 Date의 프로토타입에 추가).
고급 함수는 형식 매개 변수를 기반으로 구성 가능한 출력을 생성할 수 있습니다.이 페이지에는 몇 가지 좋은 예가 있습니다.
포맷 함수가 너무 길면 에 쓸 수 있는 라이브러리가 많이 있습니다.일부 다른 답변은 이미 열거되어 있습니다.그러나 의존성이 증가하는 것도 이에 대응합니다.
표준 ECMAScript 포맷 기능:
ECMAscript의 최신 버전부터Date
class에는 다음과 같은 특정 형식 지정 기능이 있습니다.
ToDateString:구현에 따라 날짜만 표시됩니다.
http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.todatestring
new Date().toDateString(); // e.g. "Fri Nov 11 2016"
토ISOString:ISO 8601 날짜 및 시간을 표시합니다.
http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.toisostring
new Date().toISOString(); // e.g. "2016-11-21T08:00:00.000Z"
toJSON: JSON의 문자열 식별자.
http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tojson
new Date().toJSON(); // e.g. "2016-11-21T08:00:00.000Z"
ToLocaleDateString:구현에 의존하며 로케일 형식의 날짜입니다.
http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tolocaledatestring
new Date().toLocaleDateString(); // e.g. "21/11/2016"
ToLocaleString:구현에 의존하며 local 형식의 날짜 및 시간.
http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tolocalestring
new Date().toLocaleString(); // e.g. "21/11/2016, 08:00:00 AM"
ToLocale TimeString:구현에 의존하며 시각은 로케일 형식입니다.
http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tolocaletimestring
new Date().toLocaleTimeString(); // e.g. "08:00:00 AM"
toString : 날짜의 범용 toString.
http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tostring
new Date().toString(); // e.g. "Fri Nov 11 2016 08:00:00 GMT+0100 (W. Europe Standard Time)"
참고: 다음 형식 함수에서 사용자 지정 출력을 생성할 수 있습니다.
new Date().toISOString().slice(0,10); // By @Image72, return YYYY-MM-DD
여기서 는 에서 지원되는 형식 지정자를 나열한 문서입니다.
Date()
오브젝트?
저는 오늘 우연히 이것을 발견했는데, 아무도 이 간단한 질문에 대답할 시간을 내지 않았다는 것에 매우 놀랐습니다.사실, 세상에는 날짜 조작을 도와주는 많은 도서관이 있습니다.어떤 사람들은 다른 사람들보다 낫다.하지만 그건 질문이 아니었어요.
AFAIK, 순수 JavaScript는 사용자가 지정한 형식 지정자를 지원하지 않습니다.그러나 날짜 및/또는 시간 형식을 지원하는 방법은 다음과 같습니다..toLocaleDateString()
,.toLocaleTimeString()
,그리고..toUTCString()
.
그Date
제가 가장 자주 사용하는 오브젝트 레퍼런스는 w3schools.com 웹사이트에 있습니다(단, 구글의 빠른 검색은 당신의 요구를 더 잘 충족시킬 수 있는 더 많은 정보를 제공합니다).
또한 [Date Object Properties]섹션에는 에 대한 링크가 있습니다.이 링크에서는 커스텀 메서드를 사용하여 Date 객체를 확장할 수 있는 몇 가지 방법을 보여 줍니다.수년간 자바스크립트 커뮤니티에서는 이것이 베스트 프랙티스인지 아닌지에 대한 논쟁이 있어 왔습니다.저는 단지 그 존재를 지적하는 것만으로 찬성도 반대도 아닙니다.