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.

Sara
la source

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.

Tadeck
la source
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());
Sara
la source
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();
Connell
la source
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
Pierre
la source
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());
Ghostman
la source
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.

Usman Younas
la source
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.

Fardjad
la source
10

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

No_Nick777
la source
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)
Parth Jasani
la source
8

Moment.js facilite les choses:

moment().format("YYYY/MM/DD")
Vitalii Fedorenko
la source
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);

newbdeveloper
la source
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

Zombyii
la source
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
la source
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();
Aveg Patekar
la source
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

chien enragé
la source
3

Essaye ça....

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

getMonth () renvoie le mois 0 à 11, nous aimerions donc ajouter 1 pour le mois précis

Référence par: http://www.w3schools.com/jsref/jsref_obj_date.asp

Gaurav Agrawal
la source
3
var d = new Date();

var today = d.getFullYear() + '/' + ('0'+(d.getMonth()+1)).slice(-2) + '/' + ('0'+d.getDate()).slice(-2);
Filip
la source
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];
Sajeer Babu
la source
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 );
PiTheNumber
la source
2
console.log($.datepicker.formatDate('yy/mm/dd', new Date()));
Fawad Ghafoor
la source
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.

Justin Levene
la source
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

Bernte
la source
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;
Max Wright
la source
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);
panky sharma
la source
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);
Sunandak
la source
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
Bullyen
la source
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);
sridhar
la source
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);
Kaushik shrimali
la source
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();
}
Hasan Shouman
la source
-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;
            }
Jaydeep Shil
la source