code

Date.getDay() javascript가 잘못된 날짜를 반환합니다.

starcafe 2023. 10. 5. 23:26
반응형

Date.getDay() javascript가 잘못된 날짜를 반환합니다.

나는 그런 자바스크립트 코드를 가지고 있습니다.

alert(DATE.value);
var d = new Date(DATE.value);
var year = d.getFullYear();
var month = d.getMonth();
var day = d.getDay();
alert(month);
alert(day);
if(2012 < year < 1971 | 1 > month+1 > 12 | 0 >day > 31){
    alert(errorDate);
    DATE.focus();
    return false;
}

예를 들면 다음과 같습니다.DATE.value = "11/11/1991"

내가 부르면alert(day);그것은 나를 보여줍니다.3;
내가 부르면alert(d);그것은 나에게 정확한 정보를 돌려줍니다.

사용하다.getDate대신에.getDay.

getDay에서 반환되는 값은 요일에 해당하는 정수입니다. 일요일의 경우 0, 월요일의 경우 1, 화요일의 경우 2 등입니다.

getDay()요일을 반환합니다.그러나 사용할 수 있습니다.getDate()방법.

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getDay

getDay()요일을 알려드릴 겁니다당신은 찾고 있습니다.getDate().

저도 비슷한 문제가 있었습니다.date.getMonth()다음 범위의 인덱스를 반환합니다.0 to 11. 1월은0. 새 파일을 생성할 경우date()-object 그리고 당신은 현재 날짜가 아닌 날짜에 대한 정보를 얻기를 원합니다. 당신은 단지 한달만큼 줄여야 합니다.1.

다음과 같은 경우:

function getDayName () {
var year = 2016;
var month = 4;
var day = 11;

var date = new Date(year, month-1, day);
var weekday = new Array("sunday", "monday", "tuesday", "wednesday",
                    "thursday", "friday", "saturday");

return weekday[date.getDay()];
}

지금부터 Date 객체에 대해 다음 기능을 사용할 수 있습니다.

    function dayOf(date)
    {
        return date.getDate();
    }

    function monthOf(date)
    {
        return date.getMonth() + 1;
    }

    function yearOf(date)
    {
        return date.getYear() + 1900;
    }

    function weekDayOf(date)
    {
        return date.getDay() + 1;
    }
    
    var date = new Date("5/15/2020");
    console.log("Day: " + dayOf(date));
    console.log("Month: " + monthOf(date));
    console.log("Year: " + yearOf(date));

function formatDate(date, callback)
{
var weekday = new Array("Sunday", "Monday", "Tuesday", "Wednesday",     "Thursday", "Friday", "Saturday");
var day = weekday[date.getDay()];
console.log('day',day);
var d = date.getDate();
var hours = date.getHours();
ampmSwitch = (hours > 12) ? "PM" : "AM";
if (hours > 12) {
    hours -= 12;

}
else if (hours === 0) {
    hours = 12;
}
var m = date.getMinutes();
var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var month = months[date.getMonth()];
var year = date.getFullYear();
newdate = day + ', ' + month + ' ' + d + ',' + year + ' at ' + hours + ":" + m + " " + ampmSwitch
callback(newdate)
}

그리고 이 코드로 전화를 합니다.

date="Fri Aug 26 2016 18:06:01 GMT+0530 (India Standard Time)"
formatDate(date,function(result){
   console.log('Date=',result);
 });

.getDay() 함수를 사용하면 1이 아닌 0에서 한 달의 숫자 시작을 고려하고, 새로운 날짜(2021-11-04)를 사용하면 .getDay() 함수는 11월이 아닌 12월 4일을 고려합니다...

그러면 11월 4일차를 받으려면 Date() 클래스에 "2021-10-04" 패스가 필요합니다.

사용된 기술과 브라우저 ES5 호환성에 문제가 있을 수도 있습니다.

리액트 네이티브로 어플리케이션을 개발하던 중에 그런 문제가 생겼습니다.

return `${date.getDay()} ${month}, ${date.getFullYear()}`;

로.

return `${date.getDate()} ${month}, ${date.getFullYear()}`;

언급URL : https://stackoverflow.com/questions/13359294/date-getday-javascript-returns-wrong-day

반응형