2012-11-13 12 views
77

हाय मैं जावास्क्रिप्ट में नए मैं कर रहा हूँ इस तरह जावास्क्रिप्ट कोड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 = "1991/11/11"

जब मैं फोन चेतावनी (दिन); यह मुझे 3 दिखाता है;
जब मैं अलर्ट (डी) कॉल करता हूं; यह मुझे सही जानकारी देता है

+0

[सोमवार ...] (http://www.dayoftheweek.org/?m साथ फोन = नवंबर और डी = 11 और वाई = 1 99 1 और जाएं = जाओ) – gdoron

उत्तर

181

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

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

+0

सहायता के लिए धन्यवाद) –

+78

वास्तव में यह गूंगा है कि इस फ़ंक्शन के डिज़ाइनर ने इसे DayOf सप्ताह नहीं कहा था। नहीं, यह बहुत स्पष्ट होता। – AndroidDev

+16

@AndroidDev मैं सहमत हूं! इसके अलावा '.getDate' के साथ एक दिन पूरी दिन वापस नहीं लौटाएगा, न केवल दिन। –

12

getDay के बारे में MDN से: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getDay

स्थानीय समय के अनुसार निर्धारित तिथि के लिए सप्ताह के दिन देता है। https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getDate

स्थानीय समय के अनुसार निर्धारित तिथि के लिए महीने के दिन देता है:

आप शायद getDate चाहते हैं।

8

getDay() आप सप्ताह के दिन दे देंगे। आप getDate() की तलाश में हैं।

3

मुझे एक ही समस्या थी। date.getMonth()0 to 11 से लेकर एक सूचकांक देता है। जनवरी 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()]; 
} 
+0

बहुत बढ़िया स्वेन ... यह मेरे लिए समाधान है, कम से कम पतंग पर ... धन्यवाद। – Juanra

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); 
}); 
संबंधित मुद्दे