Wie bekomme ich das aktuelle Datum in jquery?

181

Ich möchte wissen, wie die Funktion Date () in jQuery verwendet wird, um das aktuelle Datum in einem yyyy/mm/ddFormat abzurufen.

Sara
quelle

Antworten:

324

Date()ist nicht Teil von jQuery, es ist eine der Funktionen von JavaScript.

Siehe die Dokumentation zum Datumsobjekt .

Sie können es so machen:

var d = new Date();

var month = d.getMonth()+1;
var day = d.getDate();

var output = d.getFullYear() + '/' +
    (month<10 ? '0' : '') + month + '/' +
    (day<10 ? '0' : '') + day;

Siehe diese jsfiddle für einen Beweis.

Der Code kann wie ein komplexer Code aussehen, da er sich mit Monaten und Tagen befassen muss, die durch Zahlen kleiner als dargestellt werden 10(was bedeutet, dass die Zeichenfolgen ein Zeichen anstelle von zwei haben). Siehe diese jsfiddle zum Vergleich.

Tadeck
quelle
2
Das wusste ich nicht. Ich suche nach dem aktuellen Datum in der Hilfe von jquery.plz.
Sara
Danke für die Antwort :) Obwohl ich in meiner gesamten Existenz noch nie ein Datum gesehen habe, das wie JJJJ / MM / TT formatiert ist - wird das in einem Land verwendet? Ich habe JJJJ-MM-TT und JJJJMMTT gesehen
Manachi
1
@ Manachi Ja Es wird in Sri Lanka verwendet
Sara
2
Auch in Palästina verwendet :)
Nada N. Hantouli
Auch häufig in Korea und Südafrika verwendet
Muleskinner
131

Wenn Sie über eine jQuery-Benutzeroberfläche verfügen (die für den Datepicker benötigt wird), reicht dies aus:

$.datepicker.formatDate('yy/mm/dd', new Date());
Sara
quelle
6
erfordert jquery-ui
Alex G
1
Ja. Ich habe die jQuery-Benutzeroberfläche verwendet, daher ist diese Lösung perfekt für mich. Vielen Dank.
Chen Li Yong
44

jQuery ist JavaScript. Verwenden Sie das Javascript- DateObjekt.

var d = new Date();
var strDate = d.getFullYear() + "/" + (d.getMonth()+1) + "/" + d.getDate();
Connell
quelle
3
d.getMonth () Gibt den Monat (von 0-11) zurück, so dass es falsch sein kann
Gaurav Agrawal
2
getMonth()Gibt Zahlen zwischen 0und zurück 11. Dies ist ein weit verbreiteter JavaScript-Fehler. Funktioniert auch toString()anders als beschrieben (siehe diese jsfiddle und diese Dokumentationsseite ). Zusammenfassend lässt sich sagen, dass keine der von Ihnen bereitgestellten Lösungen ordnungsgemäß funktioniert.
Tadeck
1
In dem Monat habe ich keine Entschuldigung, keinen Fehler, den ich zuvor gemacht habe und aus dem ich nicht gelernt habe! toStringIch schwöre, es hat funktioniert, aber ich habe deine jsFiddle mit Chrome getestet und du hast Recht. Aus meiner Antwort entfernt. Vielen Dank.
Connell
30

Mit reinem Javascript können Sie Ihr eigenes JJJJMMTT-Format prototypisieren .

Date.prototype.yyyymmdd = function() {
  var yyyy = this.getFullYear().toString();
  var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
  var dd  = this.getDate().toString();
  return yyyy + "/" + (mm[1]?mm:"0"+mm[0]) + "/" + (dd[1]?dd:"0"+dd[0]); // padding
};

var date = new Date();
console.log( date.yyyymmdd() ); // Assuming you have an open console
Pierre
quelle
21

In JavaScript können Sie das aktuelle Datum und die aktuelle Uhrzeit mithilfe des Date-Objekts abrufen.

var now = new Date();

Dadurch wird die Zeit des lokalen Client-Computers ermittelt

Beispiel für jquery LINK

Wenn Sie jQuery DatePicker verwenden, können Sie es auf jedes Textfeld wie das folgende anwenden:

$( "#datepicker" ).datepicker({dateFormat:"yy/mm/dd"}).datepicker("setDate",new Date());
Geister Mann
quelle
Dies wird den vollen Datums- / Uhrzeitwert erhalten, nicht das, was ich will.
Sara
15

Da die Frage markiert ist als JQuery:

Wenn Sie auch verwenden JQuery UI, können Sie verwenden $.datepicker.formatDate():

$.datepicker.formatDate('yy/mm/dd', new Date());

Siehe diese Demo.

Fardjad
quelle
15
function GetTodayDate() {
   var tdate = new Date();
   var dd = tdate.getDate(); //yields day
   var MM = tdate.getMonth(); //yields month
   var yyyy = tdate.getFullYear(); //yields year
   var currentDate= dd + "-" +( MM+1) + "-" + yyyy;

   return currentDate;
}

Sehr praktische Funktion, um es zu benutzen, genießen

Usman Younas
quelle
2
Dies funktionierte wunderbar, um den Wert festzulegen, und ein nachfolgender Aufruf, um die Datumsauswahl auszublenden, reparierte ihn in jedem Browser. Ordentlich!
Nicholeous
9

Sehen Sie das .
Die $.now()Methode ist eine Abkürzung für die vom Ausdruck zurückgegebene Zahl (new Date).getTime().

No_Nick777
quelle
9

Hier ist die Methode, um den aktuellen Tag, das aktuelle Jahr oder den aktuellen Monat abzurufen

new Date().getDate()          // Get the day as a number (1-31)
new Date().getDay()           // Get the weekday as a number (0-6)
new Date().getFullYear()      // Get the four digit year (yyyy)
new Date().getHours()         // Get the hour (0-23)
new Date().getMilliseconds()  // Get the milliseconds (0-999)
new Date().getMinutes()       // Get the minutes (0-59)
new Date().getMonth()         // Get the month (0-11)
new Date().getSeconds()       // Get the seconds (0-59)
new Date().getTime()          // Get the time (milliseconds since January 1, 1970)
Parth Jasani
quelle
7

Moment.js macht es ganz einfach:

moment().format("YYYY/MM/DD")
Vitalii Fedorenko
quelle
6
//convert month to 2 digits<p>
var twoDigitMonth = ((fullDate.getMonth().length+1) === 1)? (fullDate.getMonth()+1) : '0' + (fullDate.getMonth()+1);

var currentDate =  fullDate.getFullYear()+ "/" + twoDigitMonth + "/" + fullDate.getDate();
console.log(currentDate);<br>
//2011/05/19
nithin
quelle
6

Dieses Objekt setzt Null, wenn das Element nur ein Symbol hat:

function addZero(i) {
    if (i < 10) {
        i = "0" + i;
    }
    return i;
}

Dieses Objekt hat die tatsächliche Vollzeit, Stunde und das Datum festgelegt:

function getActualFullDate() {
    var d = new Date();
    var day = addZero(d.getDate());
    var month = addZero(d.getMonth()+1);
    var year = addZero(d.getFullYear());
    var h = addZero(d.getHours());
    var m = addZero(d.getMinutes());
    var s = addZero(d.getSeconds());
    return day + ". " + month + ". " + year + " (" + h + ":" + m + ")";
}

function getActualHour() {
    var d = new Date();
    var h = addZero(d.getHours());
    var m = addZero(d.getMinutes());
    var s = addZero(d.getSeconds());
    return h + ":" + m + ":" + s;
}

function getActualDate() {
    var d = new Date();
    var day = addZero(d.getDate());
    var month = addZero(d.getMonth()+1);
    var year = addZero(d.getFullYear());
    return day + ". " + month + ". " + year;
}

HTML:

<span id='full'>a</span>
<br>
<span id='hour'>b</span>
<br>    
<span id='date'>c</span>

JQUERY VIEW:

$(document).ready(function(){
    $("#full").html(getActualFullDate());
    $("#hour").html(getActualHour());
    $("#date").html(getActualDate());
});

BEISPIEL

Zombyii
quelle
6

Ich weiß, ich bin spät dran, aber das ist alles was du brauchst

var date = (new Date()).toISOString().split('T')[0];

toISOString () verwendet die erstellte Funktion von Javascript.

cd = (new Date()).toISOString().split('T')[0];
console.log(cd);
alert(cd);

neuer Entwickler
quelle
5

Sie können dies auch mit moment.js erreichen. Fügen Sie moment.js in Ihr HTML ein.

<script src="moment.js"></script>

Verwenden Sie den folgenden Code in der Skriptdatei, um das formatierte Datum zu erhalten.

moment(new Date(),"YYYY-MM-DD").utcOffset(0, true).format();
Aveg Patekar
quelle
3

Versuche dies....

var d = new Date();
alert(d.getFullYear()+'/'+(d.getMonth()+1)+'/'+d.getDate());

getMonth () gibt den Monat 0 bis 11 zurück, daher möchten wir 1 für einen genauen Monat hinzufügen

Referenz von: http://www.w3schools.com/jsref/jsref_obj_date.asp

Gaurav Agrawal
quelle
3

FYI - getDay () gibt Ihnen den Wochentag an ... dh: Wenn heute Donnerstag ist, wird die Nummer 4 zurückgegeben (dies ist der 4. Wochentag).

Verwenden Sie getDate (), um einen richtigen Tag im Monat zu erhalten.

Mein Beispiel unten ... (auch eine Funktion zum Auffüllen von Zeichenfolgen, um bei einzelnen Zeitelementen eine führende 0 zu erhalten. (ZB: 10: 4: 34 => 10:04:35)

function strpad00(s)
{
    s = s + '';
    if (s.length === 1) s = '0'+s;
    return s;
}

var currentdate = new Date();
var datetime = currentdate.getDate() 
    + "/" + strpad00((currentdate.getMonth()+1)) 
    + "/" + currentdate.getFullYear() 
    + " @ " 
    + currentdate.getHours() + ":" 
    + strpad00(currentdate.getMinutes()) + ":" 
    + strpad00(currentdate.getSeconds());

Beispiel Ausgabe: 31/12/2013 @ 10.07.49
Bei der Verwendung von getDay (), würde der Ausgang sein 4 /12/2013 @ 10.07.49

mad_dog
quelle
2

Die jQuery-Plugin-Seite ist nicht verfügbar. Also manuell:

function strpad00(s)
{
    s = s + '';
    if (s.length === 1) s = '0'+s;
    return s;
}

var now = new Date();
var currentDate = now.getFullYear()+ "/" + strpad00(now.getMonth()+1) + "/" + strpad00(now.getDate());
console.log(currentDate );
PiTheNumber
quelle
2
console.log($.datepicker.formatDate('yy/mm/dd', new Date()));
Fawad Ghafoor
quelle
2
var d = new Date();

var today = d.getFullYear() + '/' + ('0'+(d.getMonth()+1)).slice(-2) + '/' + ('0'+d.getDate()).slice(-2);
Filip
quelle
Ist jetzt korrigiert. d.getMonth () + 1 muss berechnet (= in Klammern gesetzt) ​​werden, bevor '0' vor der Zeichenfolge eingefügt wird ...
Filip
2

Dadurch erhalten Sie die aktuelle Datumszeichenfolge

var today = new Date().toISOString().split('T')[0];
Sajeer Babu
quelle
1

Du kannst das:

    var now = new Date();
    dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");
     // Saturday, June 9th, 2007, 5:46:21 PM

ODER So etwas wie

    var dateObj = new Date();
    var month = dateObj.getUTCMonth();
    var day = dateObj.getUTCDate();
    var year = dateObj.getUTCFullYear();
    var newdate = month + "/" + day + "/" + year;
    alert(newdate);
Panky Sharma
quelle
1

Sie können diesen Code verwenden:

var nowDate     = new Date();
var nowDay      = ((nowDate.getDate().toString().length) == 1) ? '0'+(nowDate.getDate()) : (nowDate.getDate());
var nowMonth    = ((nowDate.getMonth().toString().length) == 1) ? '0'+(nowDate.getMonth()+1) : (nowDate.getMonth()+1);
var nowYear     = nowDate.getFullYear();
var formatDate  = nowDay + "." + nowMonth + "." + nowYear;

Eine funktionierende Demo finden Sie hier

bernte
quelle
1

Dies ist, was ich mit nur jQuery erfunden habe. Es geht nur darum, die Teile zusammenzusetzen.

        //Gather date information from local system
        var ThisMonth = new Date().getMonth() + 1;
        var ThisDay = new Date().getDate();
        var ThisYear = new Date().getFullYear();
        var ThisDate = ThisMonth.toString() + "/" + ThisDay.toString() + "/" + ThisYear.toString();

        //Gather time information from local system
        var ThisHour = new Date().getHours();
        var ThisMinute = new Date().getMinutes();
        var ThisTime = ThisHour.toString() + ":" + ThisMinute.toString();

        //Concatenate date and time for date-time stamp
        var ThisDateTime = ThisDate  + " " + ThisTime;
Max Wright
quelle
0
var d = new Date();
var month = d.getMonth() + 1;
var day = d.getDate();
var year = d.getYear();
var today = (day<10?'0':'')+ day + '/' +(month<10?'0':'')+ month + '/' + year;
alert(today);
Sunandak
quelle
Dies ist im Grunde eine Kopie der akzeptierten Antwort, außer im falschen Format (d / m / y)
Rob Grzyb
0

Ich wollte nur einen Zeitstempel-Prototyp teilen, den ich mit Pierre's Idee erstellt habe. Nicht genug Punkte zum Kommentieren :(

// US common date timestamp
Date.prototype.timestamp = function() {
  var yyyy = this.getFullYear().toString();
  var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
  var dd  = this.getDate().toString();
  var h = this.getHours().toString();
  var m = this.getMinutes().toString();
  var s = this.getSeconds().toString();

  return (mm[1]?mm:"0"+mm[0]) + "/" + (dd[1]?dd:"0"+dd[0]) + "/" + yyyy + " - " + ((h > 12) ? h-12 : h) + ":" + m + ":" + s;
};

d = new Date();

var timestamp = d.timestamp();
// 10/12/2013 - 2:04:19
Bullyen
quelle
0

Mit dem jQuery-ui-Datumsauswahlprogramm ist eine praktische Datumskonvertierungsroutine integriert, mit der Sie Datumsangaben formatieren können:

var my_date_string = $.datepicker.formatDate( "yy-mm-dd",  new Date() );

Einfach.

Justin Levene
quelle
0

Aktuelles Datumsformat abrufen dd/mm/yyyy

Hier ist der Code:

var fullDate = new Date();
var twoDigitMonth = ((fullDate.getMonth().toString().length) == 1)? '0'+(fullDate.getMonth()+1) : (fullDate.getMonth()+1);
var twoDigitDate = ((fullDate.getDate().toString().length) == 1)? '0'+(fullDate.getDate()) : (fullDate.getDate());
var currentDate = twoDigitDate + "/" + twoDigitMonth + "/" + fullDate.getFullYear();
alert(currentDate);
sridhar
quelle
0
function createDate() {
            var date    = new Date(),
                yr      = date.getFullYear(),
                month   = date.getMonth()+1,
                day     = date.getDate(),
                todayDate = yr + '-' + month + '-' + day;
            console.log("Today date is :" + todayDate);
Kaushik Shrimali
quelle
0

Sie können Javascript eine Erweiterungsmethode hinzufügen.

Date.prototype.today = function () {
    return ((this.getDate() < 10) ? "0" : "") + this.getDate() + "/" + (((this.getMonth() + 1) < 10) ? "0" : "") + (this.getMonth() + 1) + "/" + this.getFullYear();
}
Hasan Shouman
quelle
-2
function returnCurrentDate() {
                var twoDigitMonth = ((fullDate.getMonth().toString().length) == 1) ? '0' + (fullDate.getMonth() + 1) : (fullDate.getMonth() + 1);
                var twoDigitDate = ((fullDate.getDate().toString().length) == 1) ? '0' + (fullDate.getDate()) : (fullDate.getDate());
                var currentDate = twoDigitDate + "/" + twoDigitMonth + "/" + fullDate.getFullYear();
                return currentDate;
            }
Jaydeep Shil
quelle