날짜 개체에서 년 / 월 / 일을 얻는 방법?


239

alert(dateObj) 준다 Wed Dec 30 2009 00:00:00 GMT+0800

형식으로 날짜를 얻는 방법 2009/12/30?


2
UTC 날짜와 시간을 원하십니까?
DOK

답변:


407
var dateObj = new Date();
var month = dateObj.getUTCMonth() + 1; //months from 1-12
var day = dateObj.getUTCDate();
var year = dateObj.getUTCFullYear();

newdate = year + "/" + month + "/" + day;

또는 새로운 날짜를 설정하고 위의 값을 줄 수 있습니다


69
다음과 같이 기억하십시오 : January = 0, February = 1 등.
Rubens Farias

9
차이 무엇 getMonthgetUTCMonth?
user198729

10
UTC는 표준시를 반환합니다. 현지 시간을 원한다면 getMonth
Hiyasat

54
getUTCDay()getUTCDate()day는 요일 (0-6)의 숫자이고 date는 월 (1-31)의 숫자이므로 으로 대체해야합니다 .
Grzegorz Oledzki

4
이 답변은 여전히 ​​믿습니다. getUTCDate ()는 실제로이 날짜를 영국에서 반환합니다. 예를 들어 다음과 같이 입력하면 var d = new Date ( "1983 년 7 월 21 일 01:15:00"); d.getDate ()는 21을 리턴하지만 d.getUTCDate ()는 20 만 리턴합니다. 이것은 프랑스의 오전 1시 15 분 (현재 위치), 영국에서는 여전히 23시 15 분이기 때문입니다. 원래 날짜에 있었던 날짜를 얻으려면 getDate ()를 사용해야합니다.
Pascal Ganaye

101
var dt = new Date();

dt.getFullYear() + "/" + (dt.getMonth() + 1) + "/" + dt.getDate();

월 인덱스는 0부터 시작하므로 1 씩 증가시켜야합니다.

편집하다

날짜 개체 함수의 전체 목록은 다음을 참조하십시오.

데이트

getMonth()

현지 시간에 따라 지정된 날짜의 월 (0-11)을 반환합니다.

getUTCMonth()

지정된 날짜의 표준시를 기준으로 월 (0-11)을 반환합니다.


5
Parens가 필요합니다. 그렇지 않으면 10 월 한 달로 표시됩니다 (91) (stringland 9 + 1 = 91부터)
강탈

5
dt.getFullYear () + "/"+ (dt.getMonth () + 1) + "/"+ dt.getDate () 여야합니다.
Paulius Uza 2016 년

90
new Date().toISOString()
"2016-02-18T23:59:48.039Z"
new Date().toISOString().split('T')[0];
"2016-02-18"
new Date().toISOString().replace('-', '/').split('T')[0].replace('-', '/');
"2016/02/18"

new Date().toLocaleString().split(',')[0]
"2/18/2016"

2
세 번째 경우에 더 좋을 것이라고 생각합니다. new Date (). toISOString (). split ( 'T') [0] .replace (/-/ g, '/');
Mohamed Hesham

28

Moment.js http://momentjs.com/ 을 사용하는 것이 좋습니다 .

그럼 당신은 할 수 있습니다 :

moment(new Date()).format("YYYY/MM/DD");

참고 : new Date()현재 TimeDate를 원한다면 실제로 추가 할 필요가 없으며 날짜 객체를 전달할 수있는 참조로만 추가했습니다. 현재 TimeDate의 경우 다음과 같이 작동합니다.

moment().format("YYYY/MM/DD");

1
이 답변은 종속성을 추가하려면 좋다 - 2019 day.js의 수 있도록하는 것은 고려해야 할 옵션으로 moment.js에 가벼운 무게 대안 경우 - github.com/iamkun/dayjs가 . Luxon과 date-fns도 언급되었습니다.
BradGreens

18

정보

두 자리 월과 날짜를 원하는 경우 (2016/01/01 대 2016/1/1)

암호

var dateObj = new Date();
var month = ('0' + (dateObj.getMonth() + 1)).slice(-2);
var date = ('0' + dateObj.getDate()).slice(-2);
var year = dateObj.getFullYear();
var shortDate = year + '/' + month + '/' + date;
alert(shortDate);

산출

2016/10/06

깡깡이

https://jsfiddle.net/Hastig/1xuu7z7h/

신용

이 답변에 대한 자세한 정보 및 답변

더에 대한 자세한 내용은 자신 편집기를 시도 W3 스쿨에서 저를 더 잘 사용하는 방법을 이해 도왔다..slice


그러나 날짜가 Decemeber로 설정되어 있으면 내년 1 월로 전달되지 않습니까?
Hanz Cheah


13

Date get 메소드를 사용하십시오.

http://www.tizag.com/javascriptT/javascriptdate.php

http://www.htmlgoodies.com/beyond/javascript/article.php/3470841

var dateobj= new Date() ;
var month = dateobj.getMonth() + 1;
var day = dateobj.getDate() ;
var year = dateobj.getFullYear();

4
JavaScript Date 객체의 월은 인덱스가 없습니다. 1을 추가하십시오. 그렇지 않으면 12 월이 11 월이됩니다. 11 월은 10 월 등이됩니다
cllpse

1
@Aseem +1이 필요한 달
이어야 함

12
var date = new Date().toLocaleDateString()
"12/30/2009"

2
두 날짜를 비교하기 위해이 답변이 최고입니다. 감사!
Dazag

9

유럽 ​​(영어 / 스페인어) 형식
현재 요일도 가져와야합니다.이 날짜를 사용할 수 있습니다.

function getFormattedDate(today) 
{
    var week = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
    var day  = week[today.getDay()];
    var dd   = today.getDate();
    var mm   = today.getMonth()+1; //January is 0!
    var yyyy = today.getFullYear();
    var hour = today.getHours();
    var minu = today.getMinutes();

    if(dd<10)  { dd='0'+dd } 
    if(mm<10)  { mm='0'+mm } 
    if(minu<10){ minu='0'+minu } 

    return day+' - '+dd+'/'+mm+'/'+yyyy+' '+hour+':'+minu;
}

var date = new Date();
var text = getFormattedDate(date);


* 스페인어 형식의 경우 WEEK 변수 만 번역하십시오.

var week = new Array('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado');


결과 : 월요일-16/11/2015 14:24


6

수락 된 답변으로 1 월 1 일은 다음과 같이 표시됩니다 2017/1/1.

원하는 2017/01/01경우 다음을 사용할 수 있습니다.

var dt = new Date();
var date = dt.getFullYear() + '/' + (((dt.getMonth() + 1) < 10) ? '0' : '') + (dt.getMonth() + 1) + '/' + ((dt.getDate() < 10) ? '0' : '') + dt.getDate();

6

왜 간단하지 않습니까?

dateObj.toISOString().slice(0, 10) // YYYY-MM-DD

여기를 확인하십시오 :

const date1 = new Date('December 17, 1995 03:24:00');
console.log(date1.toISOString().slice(0, 10))


2

템플릿 리터럴을 사용하여 년 / 월 / 일을 얻는 더 확실한 방법은 다음과 같습니다.

var date = new Date();
var formattedDate = `${date.getFullYear()}/${(date.getMonth() + 1)}/${date.getDate()}`;
console.log(formattedDate);


2
let dateObj = new Date();

let myDate = (dateObj.getUTCFullYear()) + "/" + (dateObj.getMonth() + 1)+ "/" + (dateObj.getUTCDate());

참고로 아래 세부 사항을 볼 수 있습니다

new Date().getDate()          // Return the day as a number (1-31)
new Date().getDay()           // Return the weekday as a number (0-6)
new Date().getFullYear()      // Return the four digit year (yyyy)
new Date().getHours()         // Return the hour (0-23)
new Date().getMilliseconds()  // Return the milliseconds (0-999)
new Date().getMinutes()       // Return the minutes (0-59)
new Date().getMonth()         // Return the month (0-11)
new Date().getSeconds()       // Return the seconds (0-59)
new Date().getTime()          // Return the time (milliseconds since January 1, 1970)

let dateObj = new Date();

let myDate = (dateObj.getUTCFullYear()) + "/" + (dateObj.getMonth() + 1)+ "/" + (dateObj.getUTCDate());

console.log(myDate)

// 분을 반환합니다 (0-59) new Date (). getMonth () // 월을 반환합니다 (0-11) new Date (). getSeconds () // 초를 반환합니다 (0-59) new Date () .getTime () // 시간을 반환합니다 (1970 년 1 월 1 일 이후의 밀리 초)


1

이 한 줄 코드를 사용하여 년-월-일 형식으로 날짜를 가져올 수 있습니다.

var date = new Date().getFullYear() + "-" + new Date().getMonth() + 1 + "-" + new Date().getDate();

-1

날짜 obj 또는 js 타임 스탬프를 전달하면 작동하는 이것을 사용하고 있습니다.

getHumanReadableDate: function(date) {
    if (date instanceof Date) {
         return date.getDate() + "/" + (date.getMonth() + 1) + "/" + date.getFullYear();
    } else if (isFinite(date)) {//timestamp
        var d = new Date();
        d.setTime(date);
        return this.getHumanReadableDate(d);
    }
}

-1

ES2018에서는 일, 월 및 연도를 잡는 데 사용할 수있는 정규식 캡처 그룹을 소개했습니다.

const REGEX = /(?<year>[0-9]{4})-(?<month>[0-9]{2})-(?<day>[0-9]{2});
const results = REGEX.exec('2018-07-12');
console.log(results.groups.year);
console.log(results.groups.month);
console.log(results.groups.day);

이 방법의 장점은 비표준 문자열 날짜 형식에 대해 일, 월, 년을 잡을 수 있다는 것입니다.

참조 https://www.freecodecamp.org/news/es9-javascripts-state-of-art-in-2018-9a350643f29c/


이 질문은 Date 객체에서 날짜를 "월 / 일 / 년"으로 형식화하는 것에 대해 구체적으로 묻습니다. 정규식의 캡처 그룹은 여기에 해당되지 않습니다.
Colin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.