दिनांक ऑब्जेक्ट से वर्ष / माह / दिन कैसे प्राप्त करें?


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
बस याद रखें: जनवरी = 0, फरवरी = 1, और इसी तरह।
फरियास

9
बीच क्या अंतर है getMonthऔर getUTCMonth?
user198729

10
UTC सार्वभौमिक समय लौटाएगा। आप स्थानीय समय उपयोग getMonth चाहते हैं
Hiyasat

54
getUTCDay()द्वारा प्रतिस्थापित किया जाना चाहिए getUTCDate(), क्योंकि दिन सप्ताह में दिन की संख्या (0-6) है और तारीख महीने में दिन की संख्या (1-31) है।
ग्रेज़गोरज़ ओलेदज़की

4
यह प्रतिक्रिया अभी भी त्रुटिपूर्ण है, मुझे विश्वास है। getUTCDate () महीने का दिन वास्तव में लेकिन इंग्लैंड में लौटाएगा। उदाहरण के लिए यदि मैं टाइप करता हूं: var d = new Date ("21 जुलाई, 1983 01:15:00"); d.getDate () 21 पर लौटता है, लेकिन d.getUTCDate () केवल 20 रिटर्न देता है, यह इसलिए है क्योंकि फ्रांस में सुबह 01:15 बजे (जहां मैं हूं), यह अभी भी इंग्लैंड में 23:15 है। उस दिन को प्राप्त करने के लिए जो मूल तिथि में था, आपको गेटडेट () का उपयोग करना चाहिए।
पास्कल गनेय

101
var dt = new Date();

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

चूंकि महीने का सूचकांक 0 आधारित है इसलिए आपको इसे 1 से बढ़ाना होगा।

संपादित करें

दिनांक ऑब्जेक्ट फ़ंक्शन की पूरी सूची के लिए देखें

तारीख

getMonth()

महीने (0-11) को स्थानीय समय के अनुसार निर्दिष्ट तारीख में लौटाता है।

getUTCMonth()

सार्वभौमिक समय के अनुसार निर्दिष्ट तिथि में महीने (0-11) को लौटाता है।


5
परदों की जरूरत है। अन्यथा अक्टूबर माह रूप में दिखाई देगा 91 (9 + 1 = 91 stringland में के बाद से)
लूटने

5
Dt.getFullYear () + "/" + (dt.getMonth () + 1) + "/" + dt.getDate () होना चाहिए;
पॉलियस उजा

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
मुझे लगता है कि यह तीसरे मामले की नई तारीख ()। ToISOString ()। विभाजन ('T' [[0] .replace (/ - / g, '/') के लिए बेहतर हो सकता है;
मोहम्मद हेशम

28

मैं आपको Moment.js http://momentjs.com/ का उपयोग करने का सुझाव दूंगा

तो आप कर सकते हैं:

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

नोट: new Date()यदि आपको वर्तमान टाइमडेट चाहिए, तो आपको वास्तविक रूप से जोड़ने की आवश्यकता नहीं है , मैंने इसे केवल एक संदर्भ के रूप में जोड़ा है कि आप इसके लिए एक दिनांक ऑब्जेक्ट पास कर सकते हैं। वर्तमान समय के लिए यह भी काम करता है:

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

1
यदि आप एक निर्भरता जोड़ना चाहते हैं तो यह उत्तर अच्छा है - और यदि ऐसा है तो 2019 के दिन। जेएस पल के लिए एक हल्का वजन विकल्प है । इस पर विचार करने के लिए एक विकल्प के रूप में मौजूद है- github.com/iamkun/dayjs । यह भी उल्लेख किया गया है कि लक्सन और डेट-फेंस हैं।
ब्रैडग्रेन

18

जानकारी

यदि 2 अंकों का महीना और तारीख वांछित है (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/

श्रेय

इस उत्तर से अधिक जानकारी और क्रेडिट

अधिक

के बारे में अधिक जानने के लिए यह कोशिश अपने आप संपादक W3Schools से कम मुझे बेहतर है कि यह कैसे उपयोग करने के लिए समझने में मदद की।.slice


लेकिन अगर तारीख को डेसमेबर के लिए सेट किया जाता है, तो यह अगले साल जनवरी तक आगे नहीं बढ़ेगा?
हनज चाहे


13

दिनांक प्राप्त करने के तरीकों का उपयोग करें।

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
जावास्क्रिप्ट दिनांक वस्तुओं पर महीने शून्य-अनुक्रमित हैं। इसे 1 में जोड़ना सुनिश्चित करें, और दिसंबर दिसंबर हो जाता है; नवंबर अक्टूबर और इसके बाद हो जाता है
cllpse

1
@ एसेम सिर्फ उस महीने का होना चाहिए जिसके लिए +1
Hastig Zusammenstellen

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

2
2 तारीखों की तुलना करने के लिए यह उत्तर सबसे ऊपर है। धन्यवाद!
दजग

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 जनवरी को इस तरह प्रदर्शित किया जाएगा 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();


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) नई तिथि () प्राप्त करें। महीना () // महीना लौटाएं (0-11) नई तिथि ()। GetSeconds () // सेकंड (0-59) नई तिथि () लौटें .getTime () // 1 जनवरी, 1970 के बाद का समय (मिलीसेकंड लौटाएं)


1

आप बस वर्ष-माह-तारीख प्रारूप में दिनांक प्राप्त करने के लिए इस एक लाइन कोड का उपयोग कर सकते हैं

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

-1

मैं इसका उपयोग कर रहा हूं जो काम करता है यदि आप इसे एक तारीख को पास करते हैं या जेएस टाइमस्टैम्प:

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/


प्रश्न विशेष रूप से एक दिनांक ऑब्जेक्ट से "माह / दिन / वर्ष" में एक तारीख को प्रारूपित करने के बारे में पूछ रहा था। रेगेक्स में कैप्चर समूह यहां लागू नहीं हैं।
कॉलिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.