Date.getDay () जावास्क्रिप्ट गलत दिन लौटाता है


146

नमस्ते मैं जावास्क्रिप्ट में नया हूँ मेरे पास ऐसे जावास्क्रिप्ट कोड हैं

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);करता हूं तो यह मुझे सही जानकारी देता है।


जवाबों:


330

के .getDateबजाय का उपयोग करें .getDay

GetDay द्वारा लौटाया गया मान सप्ताह के दिन के अनुसार पूर्णांक है: 0 रविवार के लिए, सोमवार के लिए 1, मंगलवार के लिए 2, और इसी तरह।


154
वास्तव में गूंगा कि इस फ़ंक्शन के डिजाइनर ने इसे getDayOf Week नहीं कहा। नहीं, यह बहुत स्पष्ट है।
एंड्राइडडेव

41
@AndroidDev मैं सहमत हूँ! इसके अलावा .getDateकेवल एक दिन ही नहीं, बल्कि पूरी तारीख वापस कर दी जाएगी।

47
यहां अधिक है: फ़ंक्शन getMonth 0 से 11 तक पूर्णांक देता है, 0 के लिए जनवरी और 11 दिसंबर के लिए। वे वहाँ पर कुछ भारी सामान धूम्रपान कर रहे होंगे
taralex

13
यहाँ अधिक है: getYear () वास्तव में वर्ष माइनस 1900!
गिलाम फ्राई

पूरी तरह से असंगत डिजाइन ~Date.getYear() okay, Date.getMonth() okay, Date.getDate() what?
एडी बी



5

मुझे भी ऐसी ही समस्या का समाधान करना पड़ा था। date.getMonth()से लेकर एक इंडेक्स देता है 0 to 11। जनवरी है 0। यदि आप एक नया-विषय date()बनाते हैं और आप एक कॉस्ट्यूम तिथि के बारे में जानकारी प्राप्त करना चाहते हैं, तो वर्तमान में आपको केवल महीने के हिसाब से घटाना नहीं है 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()];
}

बहुत बढ़िया स्वेन ... कि मेरे लिए समाधान है, एक कीट पर शून्य ... धन्यवाद।
juanram0n

1
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);
 });

1

अब से आप संभवतः दिनांक ऑब्जेक्ट्स के लिए निम्न कार्यों का उपयोग करना चाहते हैं:

    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));

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.