जावास्क्रिप्ट प्रारूप dd-mm-yy में कल की तारीख कैसे प्राप्त करें


90

मैं प्रारूप में कल की तारीख (dd-mm-yyyy) प्रदर्शित करने के लिए जावास्क्रिप्ट प्राप्त करने की कोशिश कर रहा हूं

मुझे यह स्क्रिप्ट मिली है जो प्रारूप में आज की तारीख को प्रदर्शित करती है (dd-mm-yyyy)

var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("<b>" + day + "/" + month + "/" + year + "</b>")

Displays: 25/2/2012 (todays date of this post)

लेकिन मैं इसे उसी प्रारूप में कल की तारीख को प्रदर्शित करने के लिए कैसे प्राप्त कर सकता हूं 26/2/2012

मैंने यह कोशिश की:

var day = currentDate.getDate() + 1

हालांकि मैं रख सकता था +1और 31 से अधिक जा सकता था जाहिर है कि महीने में 32 दिन नहीं हैं

घंटों खोज की गई, लेकिन लगता है कि इसका कोई जवाब या समाधान नहीं है?

जवाबों:


176

यह आप के लिए यह असली अच्छा तय करना चाहिए।

यदि आप एक बार डेट कंस्ट्रक्टर पास करते हैं तो यह बाकी काम करेगा।

24 घंटे 60 मिनट 60 सेकंड 1000 मिलीसेकंड

var currentDate = new Date(new Date().getTime() + 24 * 60 * 60 * 1000);
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("<b>" + day + "/" + month + "/" + year + "</b>")

एक बात का ध्यान रखें कि यह विधि अब से ठीक 24 घंटे बाद तारीख लौटाएगी, जो कि दिन भर की बचत समय के आसपास गलत हो सकती है।

फिल का जवाब काम कभी भी:

var currentDate = new Date();
currentDate.setDate(currentDate.getDate() + 1);

मेरे पोस्ट को संपादित करने का कारण यह है क्योंकि मैंने खुद एक बग बनाया था जो डीएसटी के दौरान मेरी पुरानी पद्धति का उपयोग करके प्रकाश में आया था।


9
धन्यवाद, थोड़ा सा छोटाvar currentDate = new Date(+new Date() + 86400000);
— ४२५

13
ध्यान दें कि इस रणनीति के साथ आप डीएसटी के आसपास के मुद्दों में भाग ले सकते हैं, जिससे साल का एक दिन 23 घंटे और 25 का हो सकता है। नीचे फिल का जवाब इस समस्या से बचा जाता है।
— gsf

3
new Date().getTime()के रूप में सरल किया जा सकता हैDate.now()
— czerny

वे दोनों सही हैं, मुझे नहीं लगता कि IE8 में Date.now () है।
— रोडरिक ओब्रिस्ट

2
@ConorB, .getMonth () जनवरी के लिए 0 रिटर्न, 1 फरवरी के लिए ... आदि 11 दिसंबर के लिए। 1 को जोड़ने से यह सरणी इंडेक्स से मानव पठनीय तिथि में बदल जाता है।
— रॉडरिक ओब्रिस्ट

135

जावास्क्रिप्ट Dateवर्ग आपके लिए इसे संभालता है

var d = new Date("2012-02-29")
console.log(d)
// Wed Feb 29 2012 11:00:00 GMT+1100 (EST)

d.setDate(d.getDate() + 1)
console.log(d)
// Thu Mar 01 2012 11:00:00 GMT+1100 (EST)

console.log(d.getDate())
// 1

क्या यह अभी भी काम करेगा अगर आज एक महीने का आखिरी दिन था, जैसे कि 31 वां दिन? यदि आप +1 जोड़ते हैं तो क्या आप 32 वें के साथ समाप्त नहीं होंगे?
— टिमो

19
@ टिमो को पूरा यकीन है कि मेरा उदाहरण ठीक यही प्रदर्शित करता है
— फिल अप

1
ओह, हाँ, तुम सही हो। मैं भूल गया कि फरवरी केवल 28 दिनों की है :-)
— तिमो

यह मेरे लिए आज असफल हो गया क्योंकि नई तिथि ('2016-10-31') 'सूर्य अक्टूबर 30 2016 23:00:00 GMT-0100 (AZOT)' लौटती है। मैं अज़ोरेस द्वीपों में हूँ और टाइमज़ोन को AZOST से AZOT में बदल दिया गया था
— nunoarruda

@nunoarruda क्षमा करें, वास्तव में निश्चित नहीं है कि आप वहां क्या कह रहे हैं या इस जवाब के साथ क्या करना है
— फिल

7

मैं DateJS लाइब्रेरी का उपयोग करूंगा। यह ठीक ऐसा ही कर सकता है।

http://www.datejs.com/

निम्नलिखित कार्य करें:

var d = new Date.today().addDays(1).toString("dd-mm-yyyy");

Date.today() - आज आधी रात को आपको देता है।


1
मुझे फिल का उत्तर बेहतर लगता है ... मैं सभी तिथियों के लिए डेटजेस का उपयोग करता हूं - लेकिन ऐसा लगता है कि यह अकेले जेएस का उपयोग करके किया जा सकता है!
— मैट

4
Date.parse ( 'कल') toString ( 'dd-mm-yyyy')।
— geoffrey.mcgill

5

विधि Date.prototype.setDate () मानक श्रेणी के बाहर भी तर्क स्वीकार करता है और तदनुसार तिथि बदलता है।

function getTomorrow() {
    const tomorrow = new Date();
    tomorrow.setDate(tomorrow.getDate() + 1); // even 32 is acceptable
    return `${tomorrow.getFullYear()}/${tomorrow.getMonth() + 1}/${tomorrow.getDate()}`;
}

4

नीचे रोडरिक और फिल के उत्तरों के संयोजन के साथ दो अतिरिक्त सशर्तियों का उपयोग किया गया है जो एकल अंकों के महीनों / दिनों के लिए खाते हैं।

मैंने जिन एपीआई के साथ काम किया है, उनमें से कई एपीआई इस बारे में हैं, और तारीखों के लिए आठ अंकों (जैसे '02022017') की आवश्यकता होती है , 6 या 7 अंकों के बजाय तारीख वर्ग आपको कुछ स्थितियों में देने जा रहा है।

function nextDayDate() {
      // get today's date then add one
      var nextDay = new Date();
      nextDay.setDate(nextDay.getDate() + 1);

      var month = nextDay.getMonth() + 1;
      var day = nextDay.getDate();
      var year = nextDay.getFullYear();

      if (month < 10) { month = "0" + month } 
      if (day < 10) { day = "0" + day }

      return month + day + year;
}

3

बक्सों का इस्तेमाल करें :

Date.tomorrow() // 1 day next 
Date.daysNext(1) // alternative Date.tomorrow()
Date.daysNext(2) // 2 days next. 

यदि "कल" ​​आज का नहीं बल्कि किसी अन्य तिथि से भिन्न है Date.now() , तो स्थिर विधियों का उपयोग न करें, बल्कि आपको गैर-स्थैतिक का उपयोग करना होगा:

यानी: शुक्र दिसंबर 05 2008

 var dec5_2008=new Date(Date.parse('2008/12/05'));
 dec5_2008.tomorrow(); // 2008/12/06
    dec5_2008.tomorrow().day // 6
    dec5_2008.tomorrow().month // 12
    dec5_2008.tomorrow().year //2008
 dec5_2008.daysNext(1); // the same as previous
 dec5_2008.daysNext(7) // next week :)

एपीआई:

Dateold=Date;function Date(e){var t=null;if(e){t=new Dateold(e)}else{t=new Dateold}t.day=t.getDate();t.month=t.getMonth()+1;t.year=t.getFullYear();return t}Date.prototype.daysNext=function(e){if(!e){e=0}return new Date(this.getTime()+24*60*60*1e3*e)};Date.prototype.daysAgo=function(e){if(!e){e=0}return Date.daysNext(-1*e)};Date.prototype.tomorrow=function(){return this.daysNext(1)};Date.prototype.yesterday=function(){return this.daysAgo(1)};Date.tomorrow=function(){return Date.daysNext(1)};Date.yesterday=function(){return Date.daysAgo(1)};Date.daysNext=function(e){if(!e){e=0}return new Date((new Date).getTime()+24*60*60*1e3*e)};Date.daysAgo=function(e){if(!e){e=0}return Date.daysNext(-1*e)}

3

विधि 1: यदि आपको अन्य लाइब्रेरी का उपयोग करने में समस्या नहीं है, तो यह क्षण भर के लिए आपके लिए काम कर सकता है। js

moment().add('days', 1).format('L');

विधि 2: Date.js का उपयोग करते हुए,

<script type="text/javascript" src="date.js"></script>    
var tomorrow = new Date.today().addDays(1).toString("dd-mm-yyyy"); 

यह विधि बाहरी लाइब्रेरी का उपयोग करती है, न कि देशी डेट लाइब्रेरी का। जैसा कि मेरा बूटस्ट्रैप-डेटाइमपिकर क्षण.जेएस और देशी डेट लाइब्रेरी का उपयोग कर रहा था, मैंने विधि 1 को प्राथमिकता दी। इस प्रश्न में इन और कुछ अन्य विधियों का उल्लेख है।


2

यह वास्तव में सरल है:

1: आज की तारीख और समय के साथ डेट ऑब्जेक्ट बनाएं। 2: दिन, महीने और पूरे वर्ष को पुनः प्राप्त करने के लिए दिनांक ऑब्जेक्ट विधियों का उपयोग करें और उन्हें + ऑपरेटर का उपयोग करके उन्हें संक्षिप्त करें।

यात्रा http://www.thesstech.com/javascript/date-timeतारीख और समय पर विस्तृत ट्यूटोरियल के लिए जावास्क्रिप्ट पर ।

नमूना कोड:

  var my_date = new Date();  
  var tomorrow_date =       (my_date .getDate()+1)  + "-" + (my_date .getMonth()+1) + "-" + my_date .getFullYear();
  document.write(tomorrow_date);

यह महीने से अधिक रोल नहीं करता है, जैसा कि ओपी ने पहले ही देखा था।
— वोल्फगैंग कुह्न

0
function getMonday(d)
{
   // var day = d.getDay();
   var day = @Config.WeekStartOn
   diff = d.getDate() - day + (day == 0 ? -6 : 0);
   return new Date(d.setDate(diff));
}

0

मूल उत्तर के समान, लेकिन एक पंक्ति में:

var tomorrow = new Date(Date.now() + 24 * 60 * 60 * 1000)

संख्या 24 घंटे 60 मिनट 60 सेकंड 1000 मिलीसेकंड तक रहती है।


1
यह उत्तर सही नहीं है क्योंकि डीएसटी को ध्यान में नहीं रखा गया है।
— निराश

0

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

function Tomorrow(date=false) {
    var givendate = (date!=false) ? new Date(date) : new Date();
    givendate.setDate(givendate.getDate() + 1);
    var day = givendate.getUTCDate()
    var month = givendate.getUTCMonth()+1
    var year = givendate.getUTCFullYear()
    result ="<b>" + day + "/" + month + "/" + year + "</b>";
    return result;
} 
var day = Tomorrow('2020-06-30');
console.log('tomorrows1: '+Tomorrow('2020-06-30'));
console.log('tomorrows2: '+Tomorrow());


0
        Date.prototype.NextDay = function (e) {
        return new Date(this.getFullYear(), this.getMonth(), this.getDate() + ("string" == typeof e ? parseInt(e, 10) : e));
    }

    // tomorrow
    console.log(new Date().NextDay(1))

    // day after tomorrow
    console.log(new Date().NextDay(2))

0

केवल JS (शुद्ध js) का उपयोग करना

आज

new Date()
//Tue Oct 06 2020 12:34:29 GMT+0530 (India Standard Time)
new Date(new Date().setHours(0, 0, 0, 0))
//Tue Oct 06 2020 00:00:00 GMT+0530 (India Standard Time)
new Date(new Date().setHours(0, 0, 0,0)).toLocaleDateString('fr-CA')
//"2020-10-06"

आने वाला कल

new Date(+new Date() + 86400000);
//Wed Oct 07 2020 12:44:02 GMT+0530 (India Standard Time)
new Date(+new Date().setHours(0, 0, 0, 0) + 86400000);
//Wed Oct 07 2020 00:00:00 GMT+0530 (India Standard Time)
new Date(+new Date().setHours(0, 0, 0,0)+ 86400000).toLocaleDateString('fr-CA')
//"2020-10-07"
//don't forget the '+' before new Date()

परसों

बस दो पूर्व से गुणा करें: - 2 * 86400000

आप https://stackoverflow.com/a/3191729/7877099 से सभी स्थानीय लघुकोड पा सकते हैं


-1
        //-----------Date Configuration march 18,2014----------------------

        //alert(DateFilter);

        var date = new Date();
        y = date.getFullYear(), m = date.getMonth();
        var EndDate = new Date();



        switch (DateFilter) {
            case 'today': var StartDate = EndDate;   //todays date                 
                break;
            case 'yesterday':
                var d = new Date();
                var previousDate = new Date(d.getTime() - 1000 * 60 * 60 * 24);
                var StartDate = new Date(previousDate.yyyymmdd()); //yesterday Date
                break;
            case 'tomorrow':
                var d = new Date();
                var NextDate = new Date(d.getTime() + 1000 * 60 * 60 * 24);
                var StartDate = new Date(NextDate.yyyymmdd()); //tomorrow Date
                break;
            case 'thisweek': var StartDate = getMonday(new Date()); //1st date of this week
                break;
            case 'thismonth': var StartDate = new Date(y, m, 1);  //1st date of this month
                break;
            case 'thisyear': var StartDate = new Date("01/01/" + date.getFullYear());  //1st date of this year
                break;
            case 'custom': //var StartDate = $("#txtFromDate").val();                   
                break;
            default:
                var d = new Date();
                var StartDate = new Date(d.getTime() - 30 * 24 * 60 * 60 * 1000); //one month ago date from now.
        }


        if (DateFilter != "custom") {
            var SDate = $.datepicker.formatDate('@Config.DateFormat', StartDate); $("#txtFromDate").val(SDate);
            var EDate = $.datepicker.formatDate('@Config.DateFormat', EndDate); $("#txtToDate").val(EDate);
        }
        //-----------Date Configuration march 18,2014----------------------

कृपया अपने उत्तर में स्पष्टीकरण जोड़ने पर विचार करें।
— अमर

-1
var curDate = new Date().toLocaleString().split(',')[0];

सीधे शब्दों में! dd.mm.yyyy प्रारूप में।

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