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.

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.


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());

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();

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

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());

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.


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


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().


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)


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

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


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);


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();


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


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 );


2
var d = new Date();

var today = d.getFullYear() + '/' + ('0'+(d.getMonth()+1)).slice(-2) + '/' + ('0'+d.getDate()).slice(-2);

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];

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);

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


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;

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);

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

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.


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);

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);

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();
}

-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;
            }
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.