Comment obtenir la date actuelle dans jquery?


183

Je veux savoir comment utiliser la fonction Date () dans jQuery pour obtenir la date actuelle dans un yyyy/mm/ddformat.

Réponses:


331

Date()ne fait pas partie de jQuery, c'est l'une des fonctionnalités de JavaScript.

Voir la documentation sur l'objet Date .

Vous pouvez le faire comme ça:

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;

Voir ce jsfiddle pour une preuve.

Le code peut ressembler à un code complexe, car il doit traiter les mois et les jours représentés par des nombres inférieurs à 10(ce qui signifie que les chaînes auront un caractère au lieu de deux). Voir ce jsfiddle pour comparaison.


2
Je ne savais pas ça. Je cherche à obtenir la date actuelle dans l'aide de jquery.plz.
Sara

Merci pour la réponse :) Bien que je n'ai jamais vu de toute mon existence une date au format aaaa / mm / jj - est-ce utilisé dans certains pays? J'ai vu aaaa-mm-jj et aaaammjj
Manachi

1
@Manachi Yes It is use in Sri Lanka
Sara

2
Également utilisé en Palestine :)
Nada N.Hantouli

Également couramment utilisé en Corée et en Afrique du Sud
Muleskinner

134

Si vous avez jQuery UI (nécessaire pour le sélecteur de date), cela ferait l'affaire:

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

6
nécessite jquery-ui
Alex G

1
Oui. J'ai utilisé jQuery UI, donc cette solution est parfaite pour moi. Merci.
Chen Li Yong

43

jQuery est JavaScript. Utilisez l' Dateobjet Javascript .

var d = new Date();
var strDate = d.getFullYear() + "/" + (d.getMonth()+1) + "/" + d.getDate();

3
d.getMonth () Renvoie le mois (0-11) de sorte qu'il peut être erroné
Gaurav Agrawal

2
getMonth()renvoie des nombres entre 0et 11. C'est une erreur JavaScript assez courante. Fonctionne également toString()d'une manière différente de celle que vous avez décrite (voir ce jsfiddle et cette page de documentation ). Pour résumer: aucune des solutions que vous avez fournies ne fonctionne correctement.
Tadeck

1
Le mois où je n'ai aucune excuse, erreur que j'ai faite avant et n'en ai pas appris! toStringbien que je jure que cela a fonctionné, mais j'ai testé votre jsFiddle avec Chrome et vous avez raison. Supprimé de ma réponse. Merci.
Connell

32

En utilisant du Javascript pur, vous pouvez créer un prototype de votre propre format AAAAMMJJ ;

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

En JavaScript, vous pouvez obtenir la date et l'heure actuelles à l'aide de l'objet Date;

var now = new Date();

Cela obtiendra l'heure de la machine client locale

Exemple pour jquery LINK

Si vous utilisez jQuery DatePicker, vous pouvez l'appliquer sur n'importe quel champ de texte comme celui-ci:

$( "#datepicker" ).datepicker({dateFormat:"yy/mm/dd"}).datepicker("setDate",new Date());

Cela obtiendra la valeur de la date et de l'heure complète pas ce que je veux.
Sara

18
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;
}

Fonction très pratique pour l'utiliser, profitez-en. Vous n'avez besoin d'aucun framework javascript. cela fonctionne simplement avec du javascript.


2
Cela a fonctionné à merveille pour définir la valeur, puis un appel ultérieur pour masquer le sélecteur de date l'a corrigé dans chaque navigateur. Soigné!
nicholeous

15

Puisque la question est étiquetée comme JQuery:

Si vous utilisez également, JQuery UIvous pouvez utiliser $.datepicker.formatDate():

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

Regardez cette démo.


10

Regarde ça .
La $.now()méthode est un raccourci pour le nombre renvoyé par l'expression (new Date).getTime().


10

Voici la méthode pour obtenir le jour, l'année ou le mois en cours

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)


8

Je sais que je suis en retard mais c'est tout ce dont tu as besoin

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

toISOString () utilise la fonction intégrée de javascript.

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


7

cet objet est mis à zéro, lorsque l'élément n'a qu'un seul symbole:

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

Cet objet définit l'heure, l'heure et la date réelles:

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>

VUE JQUERY:

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

EXEMPLE


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

Vous pouvez également y parvenir avec moment.js. Incluez moment.js dans votre html.

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

Et utilisez le code ci-dessous dans le fichier de script pour obtenir la date formatée.

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

4

FYI - getDay () vous donnera le jour de la semaine ... c'est à dire: si aujourd'hui est jeudi, il renverra le numéro 4 (étant le 4ème jour de la semaine).

Pour obtenir un jour du mois approprié, utilisez getDate ().

Mon exemple ci-dessous ... (également une fonction de remplissage de chaîne pour donner un 0 au début sur des éléments de temps uniques. (Par exemple: 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());

Exemple de sortie: 31/12/2013 @ 10:07:49
Si vous utilisez getDay (), la sortie serait 4 /12/2013 @ 10:07:49



3
var d = new Date();

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

Est maintenant corrigé. d.getMonth () + 1 doit être calculé (= entre parenthèses) avant d'ajouter '0' devant la chaîne ...
Filip

3

Cela vous donnera la chaîne de date actuelle

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

2

La page du plugin jQuery est en panne. Donc manuellement:

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

En utilisant le datepicker jQuery-ui, il a une routine de conversion de date pratique intégrée afin que vous puissiez formater les dates:

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

Facile.


2

vous pouvez utiliser ce code:

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;

vous pouvez trouver une démo fonctionnelle ici


2

C'est ce que j'ai trouvé en utilisant uniquement jQuery. C'est juste une question de rassembler les morceaux.

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

1

Tu peux le faire:

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

OU quelque chose comme

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

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

Ceci est essentiellement une copie de la réponse acceptée sauf dans le mauvais format (j / m / a)
Rob Grzyb

1

Je voulais juste partager un prototype d'horodatage que j'ai réalisé en utilisant l'idée de Pierre. Pas assez de points pour commenter :(

// 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

1

Obtenir le format de date actuel dd/mm/yyyy

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

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

1

Vous pouvez ajouter une méthode d'extension à javascript.

Date.prototype.today = function () {
    return ((this.getDate() < 10) ? "0" : "") + this.getDate() + "/" + (((this.getMonth() + 1) < 10) ? "0" : "") + (this.getMonth() + 1) + "/" + this.getFullYear();
}

-3
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;
            }
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.