javascript जावास्क्रिप्ट दिनांक को कैसे प्रारूपित करें




date date-format (24)

मैं 10-Aug-2010 रूप में प्रिंट करने के लिए जावास्क्रिप्ट दिनांक ऑब्जेक्ट को कैसे प्रारूपित कर सकता हूं?


यदि आप अपने कोड में jQuery UI का उपयोग कर रहे हैं, तो एक formatDate() फ़ंक्शन है जिसे formatDate() कहा जाता है। मैं आज की तारीख को प्रारूपित करने के लिए इसका उपयोग कर रहा हूं:

var testdate = Date();
testdate = $.datepicker.formatDate( "d-M-yy",new Date(testdate));
alert(testdate);

आप jQuery UI दस्तावेज़ में स्वरूपण दिनांक के कई अन्य उदाहरण देख सकते हैं।



Sugar.js में दिनांक ऑब्जेक्ट के लिए उत्कृष्ट एक्सटेंशन हैं, जिसमें Date.format विधि भी शामिल है।

दस्तावेज़ीकरण के उदाहरण:

Date.create().format('{Weekday} {Month} {dd}, {yyyy}');

Date.create().format('{12hr}:{mm}{tt}')

यदि आप पहले से ही अपने प्रोजेक्ट में jQuery UI का उपयोग कर रहे हैं तो आप इसे इस तरह से कर सकते हैं:

var formatted = $.datepicker.formatDate("M d, yy", new Date("2014-07-08T09:02:21.377"));

// formatted will be 'Jul 8, 2014'

here खेलने के लिए कुछ डेटपिकर दिनांक प्रारूप विकल्प here उपलब्ध here


हाय जांचें कि क्या यह आपकी समस्या से मदद करता है।

var d = new Date();

var options = {   
    day: 'numeric',
    month: 'long', 
    year: 'numeric'
};

console.log(d.toLocaleDateString('en-ZA', options));


कस्टम स्वरूपण समारोह:

निश्चित प्रारूपों के लिए, एक साधारण कार्य नौकरी बनाता है। निम्नलिखित उदाहरण अंतर्राष्ट्रीय प्रारूप YYYY-MM-DD उत्पन्न करता है:

function dateToYMD(date) {
    var d = date.getDate();
    var m = date.getMonth() + 1; //Month from 0 to 11
    var y = date.getFullYear();
    return '' + y + '-' + (m<=9 ? '0' + m : m) + '-' + (d <= 9 ? '0' + d : d);
}

console.log(dateToYMD(new Date(2017,10,5))); // Nov 5

ओपी प्रारूप इस प्रकार उत्पन्न किया जा सकता है:

function dateToYMD(date) {
    var strArray=['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
    var d = date.getDate();
    var m = strArray[date.getMonth()];
    var y = date.getFullYear();
    return '' + (d <= 9 ? '0' + d : d) + '-' + m + '-' + y;
}
console.log(dateToYMD(new Date(2017,10,5))); // Nov 5

नोट: हालांकि, आमतौर पर जावास्क्रिप्ट मानक पुस्तकालयों को विस्तारित करने का अच्छा विचार नहीं है (उदाहरण के लिए इस फ़ंक्शन को दिनांक के प्रोटोटाइप में जोड़कर)।

एक अधिक उन्नत फ़ंक्शन प्रारूप पैरामीटर के आधार पर कॉन्फ़िगर करने योग्य आउटपुट उत्पन्न कर सकता है।

यदि एक स्वरूपण समारोह लिखना बहुत लंबा है, तो वहां बहुत सारे पुस्तकालय हैं जो इसके आसपास हैं। कुछ अन्य उत्तरों पहले से ही उन्हें गिनती करते हैं। लेकिन बढ़ती निर्भरताओं में भी इसका मुकाबला है।

मानक ईसीएमएस्क्रिप्ट प्रारूपण कार्य:

ईसीएमएस्क्रिप्ट के हाल के संस्करणों के बाद से, Date वर्ग में कुछ विशिष्ट प्रारूपण कार्य हैं:

toDateString : कार्यान्वयन निर्भर, केवल तारीख दिखाओ।

http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.todatestring

new Date().toDateString(); // e.g. "Fri Nov 11 2016"

toISOString : आईएसओ 8601 दिनांक और समय दिखाएं।

http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.toisostring

new Date().toISOString(); // e.g. "2016-11-21T08:00:00.000Z"

toJSON : जेएसओएन के लिए स्ट्रिंगफायर।

http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tojson

new Date().toJSON(); // e.g. "2016-11-21T08:00:00.000Z"

toLocaleDateString : कार्यान्वयन निर्भर, लोकेल प्रारूप में एक तिथि।

http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tolocaledatestring

new Date().toLocaleDateString(); // e.g. "21/11/2016"

toLocaleString : कार्यान्वयन निर्भर, लोकेल प्रारूप में एक तिथि और समय।

http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tolocalestring

new Date().toLocaleString(); // e.g. "21/11/2016, 08:00:00 AM"

toLocaleTimeString : कार्यान्वयन निर्भर, लोकेल प्रारूप में एक समय।

http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tolocaletimestring

new Date().toLocaleTimeString(); // e.g. "08:00:00 AM"

टूस्ट्रिंग : तिथि के लिए जेनेरिक टूस्ट्रिंग।

http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tostring

new Date().toString(); // e.g. "Fri Nov 21 2016 08:00:00 GMT+0100 (W. Europe Standard Time)"

नोट: उन स्वरूपणों से कस्टम आउटपुट उत्पन्न करना संभव है>

new Date().toISOString().slice(0,10); //return YYYY-MM-DD

उदाहरण स्निपेट्स:

console.log("1) "+  new Date().toDateString());
console.log("2) "+  new Date().toISOString());
console.log("3) "+  new Date().toJSON());
console.log("4) "+  new Date().toLocaleDateString());
console.log("5) "+  new Date().toLocaleString());
console.log("6) "+  new Date().toLocaleTimeString());
console.log("7) "+  new Date().toString());
console.log("8) "+  new Date().toISOString().slice(0,10));



मैं निम्नलिखित का उपयोग करता हूं। यह आसान है और ठीक काम करता है।

 var dtFormat = require('dtformat');
   var today = new Date();
   dtFormat(today, "dddd, mmmm dS, yyyy, h:MM:ss TT");

या यह:

var now = new Date()
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
var formattedDate = now.getDate()  + "-" + months[now.getMonth()] + "-" + now.getFullYear()
alert(formattedDate)

के अद्भुत नियमित अभिव्यक्ति समाधान से प्रेरित , अचानक मुझे यह सिर-विभाजन विचार था:

var D = Date().toString().split(" ");
document.getElementById("demo").innerHTML = D[2] + "-" + D[1] + "-" + D[3];

मुझे लगता है कि आप गैर-मानक दिनांक विधि का उपयोग कर सकते हैं toLocaleFormat(formatString)

प्रारूपस्ट्रिंग: सी में स्ट्रेटटाइम strftime() फ़ंक्शन द्वारा अपेक्षित प्रारूप में एक प्रारूप स्ट्रिंग।

var today = new Date();
today.toLocaleFormat('%d-%b-%Y'); // 30-Dec-2011

संदर्भ:


आधुनिक ब्राउज़रों (*) में , आप बस यह कर सकते हैं:

var today = new Date().toLocaleDateString('en-GB', {
    day : 'numeric',
    month : 'short',
    year : 'numeric'
}).split(' ').join('-');

आउटपुट अगर आज निष्पादित (जनवरी 24, 2016):

'24-Jan-2016'

(*) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString , "आधुनिक ब्राउज़र" का अर्थ है क्रोम 24+, फ़ायरफ़ॉक्स 2 9 +, इंटरनेट एक्सप्लोरर 11, एज 12+, ओपेरा 15+ और सफारी रात का निर्माण



आपको date.js पर एक नज़र रखना चाहिए। यह तिथियों के साथ काम करने के लिए कई सुविधाजनक सहायकों को जोड़ता है, उदाहरण के लिए, आपके मामले में:

var date = Date.parse('2010-08-10');
console.log(date.toString('dd-MMM-yyyy'));

प्रारंभ करना: http://www.datejs.com/2007/11/27/getting-started-with-datejs/


इस तरह मैंने अपने एनपीएम प्लगइन के लिए कार्यान्वित किया

var monthNames = [
  "January", "February", "March",
  "April", "May", "June", "July",
  "August", "September", "October",
  "November", "December"
];

var Days = [
  "Sunday", "Monday", "Tuesday", "Wednesday",
  "Thursday", "Friday", "Saturday"
];

var formatDate = function(dt,format){
  format = format.replace('ss', pad(dt.getSeconds(),2));
  format = format.replace('s', dt.getSeconds());
  format = format.replace('dd', pad(dt.getDate(),2));
  format = format.replace('d', dt.getDate());
  format = format.replace('mm', pad(dt.getMinutes(),2));
  format = format.replace('m', dt.getMinutes());
  format = format.replace('MMMM', monthNames[dt.getMonth()]);
  format = format.replace('MMM', monthNames[dt.getMonth()].substring(0,3));
  format = format.replace('MM', pad(dt.getMonth()+1,2));
  format = format.replace(/M(?![ao])/, dt.getMonth()+1);
  format = format.replace('DD', Days[dt.getDay()]);
  format = format.replace(/D(?!e)/, Days[dt.getDay()].substring(0,3));
  format = format.replace('yyyy', dt.getFullYear());
  format = format.replace('YYYY', dt.getFullYear());
  format = format.replace('yy', (dt.getFullYear()+"").substring(2));
  format = format.replace('YY', (dt.getFullYear()+"").substring(2));
  format = format.replace('HH', pad(dt.getHours(),2));
  format = format.replace('H', dt.getHours());
  return format;
}

pad = function(n, width, z) {
  z = z || '0';
  n = n + '';
  return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}

var today = new Date();
var formattedToday = today.toLocaleDateString() + ' ' + today.toLocaleTimeString();

ठीक है , हमारे पास इंटेल नामक कुछ है जो जावास्क्रिप्ट में एक तिथि स्वरूपण के लिए बहुत उपयोगी है:

आपकी तिथि नीचे दी गई है:

var date = '10/8/2010';

और आप नीचे की तरह नई तिथि () का उपयोग करके तिथि में बदल जाते हैं:

date = new Date(date);

और अब आप नीचे दिए गए लोकेशंस की सूची का उपयोग करके इसे किसी भी तरह से प्रारूपित कर सकते हैं:

date = new Intl.DateTimeFormat('en-AU').format(date); // Australian date format: "8/10/2010" 


date = new Intl.DateTimeFormat('en-US').format(date); // USA date format: "10/8/2010" 


date = new Intl.DateTimeFormat('ar-EG').format(date);  // Arabic date format: "٨‏/١٠‏/٢٠١٠"

यदि आप वास्तव में ऊपर वर्णित प्रारूप चाहते हैं, तो आप यह कर सकते हैं:

date = new Date(Date.UTC(2010, 7, 10, 0, 0, 0));
var options = {year: "numeric", month: "short", day: "numeric"};
date = new Intl.DateTimeFormat("en-AU", options).format(date).replace(/\s/g, '-');

और परिणाम होने जा रहा है:

"10-Aug-2010"

ईसीएमएस्क्रिप्ट इंटरनेशनल एपीआई (इंटेल) के बारे में अधिक जानकारी के लिए, here जाएं।


सादा जावास्क्रिप्ट छोटे onetimers के लिए सबसे अच्छा पिक है।

दूसरी तरफ, यदि आपको अधिक डेट सामान की आवश्यकता है, तो MomentJS एक अच्छा समाधान है।

उदाहरण के लिए:

moment().format('YYYY-MM-DD HH:m:s');     // now() -> 2015-03-24 14:32:20
moment("20111031", "YYYYMMDD").fromNow(); // 3 years ago
moment("20120620", "YYYYMMDD").fromNow(); // 3 years ago
moment().startOf('day').fromNow();        // 11 hours ago
moment().endOf('day').fromNow();          // in 13 hours

खैर, मैं जो चाहता था वह आज की तारीख को 2012-06-23 की तरह एक MySQL अनुकूल दिनांक स्ट्रिंग में परिवर्तित करना था, और उस स्ट्रिंग को मेरे प्रश्नों में से एक पैरामीटर के रूप में उपयोग करना था। मुझे मिला सरल समाधान यह है:

var today = new Date().toISOString().slice(0, 10);

ध्यान रखें कि उपर्युक्त समाधान आपके टाइमज़ोन ऑफसेट को ध्यान में रखता नहीं है

आप इसके बजाय इस फ़ंक्शन का उपयोग करने पर विचार कर सकते हैं:

function toJSONLocal (date) {
    var local = new Date(date);
    local.setMinutes(date.getMinutes() - date.getTimezoneOffset());
    return local.toJSON().slice(0, 10);
}

यदि आप इस कोड को दिन के आरंभ / समाप्ति के आसपास निष्पादित कर रहे हैं तो यह आपको सही तिथि देगा।


यहां कुछ कोड है जिसे मैंने अभी जिस परियोजना पर काम कर रहा हूं, उसके लिए दिनांक स्वरूपण को संभालने के लिए लिखा है। यह मेरी आवश्यकताओं के अनुरूप PHP दिनांक स्वरूपण कार्यक्षमता की नकल करता है। इसका उपयोग करने के लिए स्वतंत्र महसूस करें, यह पहले से ही मौजूदा दिनांक () ऑब्जेक्ट को विस्तारित कर रहा है। यह सबसे सुरुचिपूर्ण समाधान नहीं हो सकता है लेकिन यह मेरी आवश्यकताओं के लिए काम कर रहा है।

var d = new Date(); 
d_string = d.format("m/d/Y h:i:s");

/**************************************
 * Date class extension
 * 
 */
    // Provide month names
    Date.prototype.getMonthName = function(){
        var month_names = [
                            'January',
                            'February',
                            'March',
                            'April',
                            'May',
                            'June',
                            'July',
                            'August',
                            'September',
                            'October',
                            'November',
                            'December'
                        ];

        return month_names[this.getMonth()];
    }

    // Provide month abbreviation
    Date.prototype.getMonthAbbr = function(){
        var month_abbrs = [
                            'Jan',
                            'Feb',
                            'Mar',
                            'Apr',
                            'May',
                            'Jun',
                            'Jul',
                            'Aug',
                            'Sep',
                            'Oct',
                            'Nov',
                            'Dec'
                        ];

        return month_abbrs[this.getMonth()];
    }

    // Provide full day of week name
    Date.prototype.getDayFull = function(){
        var days_full = [
                            'Sunday',
                            'Monday',
                            'Tuesday',
                            'Wednesday',
                            'Thursday',
                            'Friday',
                            'Saturday'
                        ];
        return days_full[this.getDay()];
    };

    // Provide full day of week name
    Date.prototype.getDayAbbr = function(){
        var days_abbr = [
                            'Sun',
                            'Mon',
                            'Tue',
                            'Wed',
                            'Thur',
                            'Fri',
                            'Sat'
                        ];
        return days_abbr[this.getDay()];
    };

    // Provide the day of year 1-365
    Date.prototype.getDayOfYear = function() {
        var onejan = new Date(this.getFullYear(),0,1);
        return Math.ceil((this - onejan) / 86400000);
    };

    // Provide the day suffix (st,nd,rd,th)
    Date.prototype.getDaySuffix = function() {
        var d = this.getDate();
        var sfx = ["th","st","nd","rd"];
        var val = d%100;

        return (sfx[(val-20)%10] || sfx[val] || sfx[0]);
    };

    // Provide Week of Year
    Date.prototype.getWeekOfYear = function() {
        var onejan = new Date(this.getFullYear(),0,1);
        return Math.ceil((((this - onejan) / 86400000) + onejan.getDay()+1)/7);
    } 

    // Provide if it is a leap year or not
    Date.prototype.isLeapYear = function(){
        var yr = this.getFullYear();

        if ((parseInt(yr)%4) == 0){
            if (parseInt(yr)%100 == 0){
                if (parseInt(yr)%400 != 0){
                    return false;
                }
                if (parseInt(yr)%400 == 0){
                    return true;
                }
            }
            if (parseInt(yr)%100 != 0){
                return true;
            }
        }
        if ((parseInt(yr)%4) != 0){
            return false;
        } 
    };

    // Provide Number of Days in a given month
    Date.prototype.getMonthDayCount = function() {
        var month_day_counts = [
                                    31,
                                    this.isLeapYear() ? 29 : 28,
                                    31,
                                    30,
                                    31,
                                    30,
                                    31,
                                    31,
                                    30,
                                    31,
                                    30,
                                    31
                                ];

        return month_day_counts[this.getMonth()];
    } 

    // format provided date into this.format format
    Date.prototype.format = function(dateFormat){
        // break apart format string into array of characters
        dateFormat = dateFormat.split("");

        var date = this.getDate(),
            month = this.getMonth(),
            hours = this.getHours(),
            minutes = this.getMinutes(),
            seconds = this.getSeconds();
        // get all date properties ( based on PHP date object functionality )
        var date_props = {
            d: date < 10 ? '0'+date : date,
            D: this.getDayAbbr(),
            j: this.getDate(),
            l: this.getDayFull(),
            S: this.getDaySuffix(),
            w: this.getDay(),
            z: this.getDayOfYear(),
            W: this.getWeekOfYear(),
            F: this.getMonthName(),
            m: month < 10 ? '0'+(month+1) : month+1,
            M: this.getMonthAbbr(),
            n: month+1,
            t: this.getMonthDayCount(),
            L: this.isLeapYear() ? '1' : '0',
            Y: this.getFullYear(),
            y: this.getFullYear()+''.substring(2,4),
            a: hours > 12 ? 'pm' : 'am',
            A: hours > 12 ? 'PM' : 'AM',
            g: hours % 12 > 0 ? hours % 12 : 12,
            G: hours > 0 ? hours : "12",
            h: hours % 12 > 0 ? hours % 12 : 12,
            H: hours,
            i: minutes < 10 ? '0' + minutes : minutes,
            s: seconds < 10 ? '0' + seconds : seconds           
        };

        // loop through format array of characters and add matching data else add the format character (:,/, etc.)
        var date_string = "";
        for(var i=0;i<dateFormat.length;i++){
            var f = dateFormat[i];
            if(f.match(/[a-zA-Z]/g)){
                date_string += date_props[f] ? date_props[f] : '';
            } else {
                date_string += f;
            }
        }

        return date_string;
    };
/*
 *
 * END - Date class extension
 * 
 ************************************/

जावास्क्रिप्ट में Intl.DateTimeFormat स्वरूपण के लिए एक उपयोगी और लचीला तरीका Intl.DateTimeFormat :

var date = new Date();
var options = { year: 'numeric', month: 'short', day: '2-digit'};
var _resultDate = new Intl.DateTimeFormat('en-GB', options).format(date);
// The _resultDate is: "12 Oct 2017"
// Replace all spaces with - and then log it.
console.log(_resultDate.replace(/ /g,'-'));

परिणाम है: "12-Oct-2017"

विकल्प तर्क का उपयोग कर दिनांक और समय प्रारूप अनुकूलित किया जा सकता है।

Intl.DateTimeFormat ऑब्जेक्ट Intl.DateTimeFormat ऑब्जेक्ट्स के लिए एक निर्माता है जो भाषा संवेदनशील दिनांक और समय स्वरूपण को सक्षम करते हैं।

वाक्य - विन्यास

new Intl.DateTimeFormat([locales[, options]])
Intl.DateTimeFormat.call(this[, locales[, options]])

पैरामीटर

स्थानों

वैकल्पिक। एक बीसीपी 47 भाषा टैग, या इस तरह के तारों की एक सरणी के साथ एक स्ट्रिंग। स्थानीय तर्क के सामान्य रूप और व्याख्या के लिए, Intl पृष्ठ देखें। निम्नलिखित यूनिकोड एक्सटेंशन कुंजी की अनुमति है:

nu
Numbering system. Possible values include: "arab", "arabext", "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr", "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya", "tamldec", "telu", "thai", "tibt".
ca
Calendar. Possible values include: "buddhist", "chinese", "coptic", "ethioaa", "ethiopic", "gregory", "hebrew", "indian", "islamic", "islamicc", "iso8601", "japanese", "persian", "roc".

विकल्प

वैकल्पिक। निम्नलिखित में से कुछ या सभी गुणों वाला एक ऑब्जेक्ट:

localeMatcher

उपयोग करने के लिए लोकेल मिलान एल्गोरिदम। संभावित मान "lookup" और "best fit" ; डिफ़ॉल्ट "best fit" । इस विकल्प के बारे में जानकारी के लिए, Intl पृष्ठ देखें।

समय क्षेत्र

उपयोग करने के लिए समय क्षेत्र। एकमात्र मूल्य कार्यान्वयन को पहचानना चाहिए "UTC" ; डिफ़ॉल्ट रनटाइम का डिफ़ॉल्ट समय क्षेत्र है। कार्यान्वयन IANA समय क्षेत्र डेटाबेस, जैसे "Asia/Shanghai" , "Asia/Kolkata" , "America/New_York" के समय क्षेत्र के नामों को भी पहचान सकते हैं।

hour12

क्या 12 घंटे का समय उपयोग करना है (24 घंटे के समय के विपरीत)। संभावित मूल्य true और false ; डिफ़ॉल्ट लोकेल निर्भर है।

formatMatcher

उपयोग करने के लिए मिलान एल्गोरिदम प्रारूप। संभावित मूल्य "basic" और "best fit" ; डिफ़ॉल्ट "best fit" । इस संपत्ति के उपयोग के बारे में जानकारी के लिए निम्नलिखित पैराग्राफ देखें।

निम्नलिखित गुण स्वरूपित आउटपुट और उनके वांछित प्रस्तुतियों में उपयोग करने के लिए दिनांक-समय घटकों का वर्णन करते हैं। कम से कम निम्न सबसेट का समर्थन करने के लिए कार्यान्वयन की आवश्यकता है:

weekday, year, month, day, hour, minute, second
weekday, year, month, day
year, month, day
year, month
month, day
hour, minute, second
hour, minute

कार्यान्वयन अन्य सबसेट का समर्थन कर सकता है, और सर्वोत्तम मिलान खोजने के लिए सभी उपलब्ध सबसेट-प्रतिनिधित्व संयोजनों के खिलाफ अनुरोधों पर बातचीत की जाएगी। इस बातचीत के लिए दो एल्गोरिदम उपलब्ध हैं और प्रारूप द्वारा चुने गए मैचर प्रॉपर्टी: एक पूरी तरह से निर्दिष्ट "basic" एल्गोरिदम और एक कार्यान्वयन निर्भर "सर्वश्रेष्ठ फिट" एल्गोरिदम।

काम करने के दिन

सप्ताहांत का प्रतिनिधित्व। संभावित मूल्य "narrow" , "short" , "long"

युग

युग का प्रतिनिधित्व। संभावित मूल्य "narrow" , "short" , "long"

साल

वर्ष का प्रतिनिधित्व। संभावित मान "numeric" , "2-digit"

महीना

महीने का प्रतिनिधित्व। संभावित मान "numeric" , "2-digit" , "narrow" , "short" , "long"

दिन

दिन का प्रतिनिधित्व। संभावित मान "numeric" , "2-digit"

घंटा

घंटे का प्रतिनिधित्व। संभावित मान "numeric" , "2-digit"

मिनट

मिनट का प्रतिनिधित्व। संभावित मान "numeric" , "2-digit"

दूसरा

दूसरे का प्रतिनिधित्व। संभावित मान "numeric" , "2-digit"

timeZoneName

समय क्षेत्र नाम का प्रतिनिधित्व। संभावित मान "short" , "long" । प्रत्येक दिनांक-समय घटक संपत्ति के लिए डिफ़ॉल्ट मान अपरिभाषित है, लेकिन यदि सभी घटक गुण अनिर्धारित हैं, तो वर्ष, महीना और दिन "numeric" माना जाता है।

ऑनलाइन जांचें

अधिक जानकारी



किसी भी बाहरी पुस्तकालयों का उपयोग किए बिना जावास्क्रिप्ट समाधान:

var now = new Date()
months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']
var formattedDate = now.getDate()+"-"+months[now.getMonth()]+"-"+now.getFullYear()
alert(formattedDate)

DateFormatter.formatDate(new Date(2010,7,10), 'DD-MMM-YYYY')

=> 10-Aug-2010

DateFormatter.formatDate(new Date(), 'YYYY-MM-DD HH:mm:ss')

=> 2017-11-22 19:52:37

DateFormatter.formatDate(new Date(2005, 1, 2, 3, 4, 5), 'D DD DDD DDDD, M MM MMM MMMM, YY YYYY, h hh H HH, m mm, s ss, a A')

=> 2 02 Wed Wednesday, 2 02 Feb February, 05 2005, 3 03 3 03, 4 04, 5 05, am AM

var DateFormatter = {
  monthNames: [
    "January", "February", "March", "April", "May", "June",
    "July", "August", "September", "October", "November", "December"
  ],
  dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
  formatDate: function (date, format) {
    var self = this;
    format = self.getProperDigits(format, /d+/gi, date.getDate());
    format = self.getProperDigits(format, /M+/g, date.getMonth() + 1);
    format = format.replace(/y+/gi, function (y) {
      var len = y.length;
      var year = date.getFullYear();
      if (len == 2)
        return (year + "").slice(-2);
      else if (len == 4)
        return year;
      return y;
    })
    format = self.getProperDigits(format, /H+/g, date.getHours());
    format = self.getProperDigits(format, /h+/g, self.getHours12(date.getHours()));
    format = self.getProperDigits(format, /m+/g, date.getMinutes());
    format = self.getProperDigits(format, /s+/gi, date.getSeconds());
    format = format.replace(/a/ig, function (a) {
      var amPm = self.getAmPm(date.getHours())
      if (a === 'A')
        return amPm.toUpperCase();
      return amPm;
    })
    format = self.getFullOr3Letters(format, /d+/gi, self.dayNames, date.getDay())
    format = self.getFullOr3Letters(format, /M+/g, self.monthNames, date.getMonth())
    return format;
  },
  getProperDigits: function (format, regex, value) {
    return format.replace(regex, function (m) {
      var length = m.length;
      if (length == 1)
        return value;
      else if (length == 2)
        return ('0' + value).slice(-2);
      return m;
    })
  },
  getHours12: function (hours) {
    // https://.com/questions/10556879/changing-the-1-24-hour-to-1-12-hour-for-the-gethours-method
    return (hours + 24) % 12 || 12;
  },
  getAmPm: function (hours) {
    // https://.com/questions/8888491/how-do-you-display-javascript-datetime-in-12-hour-am-pm-format
    return hours >= 12 ? 'pm' : 'am';
  },
  getFullOr3Letters: function (format, regex, nameArray, value) {
    return format.replace(regex, function (s) {
      var len = s.length;
      if (len == 3)
        return nameArray[value].substr(0, 3);
      else if (len == 4)
        return nameArray[value];
      return s;
    })
  }
}

console.log(DateFormatter.formatDate(new Date(), 'YYYY-MM-DD HH:mm:ss'));
console.log(DateFormatter.formatDate(new Date(), 'D DD DDD DDDD, M MM MMM MMMM, YY YYYY, h hh H HH, m mm, s ss, a A'));
console.log(DateFormatter.formatDate(new Date(2005, 1, 2, 3, 4, 5), 'D DD DDD DDDD, M MM MMM MMMM, YY YYYY, h hh H HH, m mm, s ss, a A'));

प्रारूप विवरण आईओनिक फ्रेमवर्क लेता था (समर्थन नहीं करता Z, यूटीसी टाइमज़ोन ऑफ़सेट)

पूरी तरह से परीक्षण नहीं किया गया


इसे इस्तेमाल करे:

function init(){
    var d = new Date();
    var day = d.getDate();
    var x = d.toDateString().substr(4, 3);
    var year = d.getFullYear();
    document.querySelector("#mydate").innerHTML = day + '-' + x + '-' + year;
}
window.onload = init;
<div id="mydate"></div>







time-format