now Comment puis-je obtenir la date actuelle en JavaScript?




javascript new date timezone (20)

Comment obtenir la date actuelle en JavaScript?

https://code.i-harness.com


ACTUALISÉ! , Défiler vers le bas

Si vous voulez quelque chose de joli simple à l'utilisateur final ... Also, fixed a small suffix issue in the first version below. Now properly returns suffix. Also, fixed a small suffix issue in the first version below. Now properly returns suffix.

var objToday = new Date(),
	weekday = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'),
	dayOfWeek = weekday[objToday.getDay()],
	domEnder = function() { var a = objToday; if (/1/.test(parseInt((a + "").charAt(0)))) return "th"; a = parseInt((a + "").charAt(1)); return 1 == a ? "st" : 2 == a ? "nd" : 3 == a ? "rd" : "th" }(),
	dayOfMonth = today + ( objToday.getDate() < 10) ? '0' + objToday.getDate() + domEnder : objToday.getDate() + domEnder,
	months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
	curMonth = months[objToday.getMonth()],
	curYear = objToday.getFullYear(),
	curHour = objToday.getHours() > 12 ? objToday.getHours() - 12 : (objToday.getHours() < 10 ? "0" + objToday.getHours() : objToday.getHours()),
	curMinute = objToday.getMinutes() < 10 ? "0" + objToday.getMinutes() : objToday.getMinutes(),
	curSeconds = objToday.getSeconds() < 10 ? "0" + objToday.getSeconds() : objToday.getSeconds(),
	curMeridiem = objToday.getHours() > 12 ? "PM" : "AM";
var today = curHour + ":" + curMinute + "." + curSeconds + curMeridiem + " " + dayOfWeek + " " + dayOfMonth + " of " + curMonth + ", " + curYear;

document.getElementsByTagName('h1')[0].textContent = today;
<h1></h1>

UBBER UPDATE Après beaucoup de tergiversations, j'ai finalement GitHubbed et mis à jour ceci avec la solution finale que j'ai utilisée pour moi-même. Il a même eu quelques modifications de dernière minute pour le rendre plus doux! Si vous cherchez le vieux jsFiddle, veuillez le voir .

Cette mise à jour vient en 2 saveurs, encore relativement petit, mais pas aussi petit que mon ci-dessus, réponse originale. Si vous voulez extrêmement petit, allez-y.
Remarque: Ceci est encore moins gonflé que le moment.js. Alors que moment.js est sympa, imo, il a beaucoup de méthodes laïques, qui demandent un moment d'apprentissage comme s'il s'agissait d'une langue. Le mien utilise ici le même format commun que PHP:date .

Liens rapides

Saveur 1 new Date().format(String) My Personal Fav. Je connais le tabou, mais fonctionne très bien sur l'objet Date. Juste être au courant de tous les autres mods que vous pourriez avoir à l'objet Date.

//  use as simple as
new Date().format('m-d-Y h:i:s');   //  07-06-2016 06:38:34

Flavour 2 dateFormat(Date, String) Méthode tout-en-un plus traditionnelle. A toute la capacité de la précédente, mais est appelée via la méthode avec Date param.

//  use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s');  //  07-06-2016 06:38:34

BONUS Flavour (nécessite jQuery) $.date(Date, String) Cela contient beaucoup plus qu'une simple option de format . Il étend l'objet Date de base et inclut des méthodes telles que addDays . Pour plus d'informations, s'il vous plaît voir le Git .

Dans ce mod, les caractères de format sont inspirés par PHP:date . Pour une liste complète, s'il vous plaît voir mon README

Ce mod a aussi une liste beaucoup plus longue de formats pré-faits. Pour utiliser un format prédéfini, entrez simplement son nom de clé. dateFormat(new Date(), 'pretty-a');

  • 'composé'
    • 'commonLogFormat' == 'd / M / Y: G: i: s'
    • 'exif' == 'Y: m: d G: i: s'
    • 'isoYearWeek' == 'Y \\ WW'
    • 'isoYearWeek2' == 'Y - \\ WW'
    • 'isoYearWeekDay' == 'Y \\ WWj'
    • 'isoYearWeekDay2' == 'Y - \\ WW-j'
    • 'mySQL' == 'Ymd h: i: s'
    • 'postgreSQL' == 'Y.z'
    • 'postgreSQL2' == 'Yz'
    • 'soap' == 'Ymd \\ TH: i: s.u'
    • 'soap2' == 'Ymd \\ TH: i: s.uP'
    • 'unixTimestamp' == '@U'
    • 'xmlrpc' == 'Ymd \\ TG: i: s'
    • 'xmlrpcCompact' == 'Ymd \\ tGis'
    • 'wddx' == 'Ynj \\ TG: i: s'
  • 'constantes'
    • 'AMÉRICAIN' == 'F j Y'
    • 'AMERICANSHORT' == 'm / j /'
    • 'AMERICANSHORTWTIME' == 'm / j / j h: i: sA'
    • 'ATOM' == 'Ymd \\ TH: i: sP'
    • 'COOKIE' == 'l dMY H: i: s T'
    • 'EUROPEEN' == 'j F Y'
    • 'EUROPEANSHORT' == 'dmY'
    • 'EUROPEANSHORTWTIME' == 'dmY H: i: s'
    • 'ISO8601' == 'Ymd \\ TH: i: sO'
    • 'LEGAL' == 'j F Y'
    • 'RFC822' == 'D d M y H: i: s O'
    • 'RFC850' == 'l dMy H: i: s T'
    • 'RFC1036' == 'D d M y H: i: s O'
    • 'RFC1123' == 'D d MYH: i: s O'
    • 'RFC2822' == 'D d MYH: i: s O'
    • 'RFC3339' == 'Ymd \\ TH: i: sP'
    • 'RSS' == 'D d MYH: i: s O'
    • 'W3C' == 'Ymd \\ TH: i: sP'
  • 'joli'
    • 'joli-a' == 'g: i.sA l jS \\ o \\ f F Y'
    • 'joli-b' == 'g: iA l jS \\ o \\ f F Y'
    • 'pretty-c' == 'n / d / Y g: iA'
    • 'pretty-d' == 'n / d / Y'
    • 'pretty-e' == 'F jS - g: ia'
    • 'joli-f' == 'g: iA'

Comme vous pouvez le remarquer, vous pouvez utiliser double \ pour échapper un personnage.


Cela fonctionne à chaque fois:

    var now = new Date();
    var day = ("0" + now.getDate()).slice(-2);
    var month = ("0" + (now.getMonth() + 1)).slice(-2);
    var today = now.getFullYear() + "-" + (month) + "-" + (day);
    
    document.write(today);


Essaye ça:

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

Le résultat sera comme

15/2/2012

Je ne sais pas si cela va aider quelqu'un, mais je l'utilise pour obtenir aujourd'hui l'objet Date.

new Date( 3600000*Math.floor(Date.now()/3600000) )


La réponse la plus courte est: new Date().toJSON().slice(0,10)


Plus propre, version plus simple:

new Date().toLocaleString();

Le résultat varie en fonction des paramètres régionaux de l'utilisateur:

27/02/2017, 09:15:41


Quel est le gros problème avec cela .. La façon la plus propre de le faire est

var currentDate=new Date().toLocaleString().slice(0,10);


Si vous cherchez un contrôle plus granulaire sur les formats de date, je vous recommande vivement de vérifier les moments. Superbe bibliothèque - et seulement 5KB. http://momentjs.com/


Si vous utilisez jQuery. Essayez ce liner:

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

Voici la convention pour le formatage de la date

  • d - jour du mois (aucun zéro principal)
  • jj - jour du mois (deux chiffres)
  • o - jour de l'année (pas de zéros en tête)
  • oo - jour de l'année (trois chiffres)
  • D - nom de jour court
  • DD - nom du jour long
  • m - mois de l'année (pas de zéro)
  • mm - mois de l'année (deux chiffres)
  • M - nom du mois court
  • MM - nom du mois long
  • y - année (deux chiffres)
  • yy - année (quatre chiffres)

Voici la référence pour jQuery datepicker


Si vous voulez un format DD/MM/YYYY simple, je viens de trouver cette solution simple, bien qu'elle ne préfixe pas les zéros manquants.

var d = new Date();
document.write( [d.getDate(), d.getMonth()+1, d.getFullYear()].join('/') );


Utilisez new Date() pour générer un nouvel objet Date contenant la date et l'heure actuelles.

var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();

if(dd<10) {
    dd = '0'+dd
} 

if(mm<10) {
    mm = '0'+mm
} 

today = mm + '/' + dd + '/' + yyyy;
document.write(today);

Cela vous donnera la date d'aujourd'hui dans le format de mm / jj / aaaa.

Changez simplement today = mm +'/'+ dd +'/'+ yyyy; à n'importe quel format que vous souhaitez.


Vous pouvez utiliser ceci

<script>
function my_curr_date() {      
    var currentDate = new Date()
    var day = currentDate.getDate();
    var month = currentDate.getMonth() + 1;
    var year = currentDate.getFullYear();
    var my_date = month+"-"+day+"-"+year;
    document.getElementById("dateField").value=my_date;    
}
</script>

Le HTML est

<body onload='return my_curr_date();'>
    <input type='text' name='dateField' id='dateField' value='' />
</body>

Vous pouvez utiliser la bibliothèque Date.js qui étend l'objet Date, vous pouvez donc avoir la méthode .today ().


Vous pouvez vérifier ceci

var today = new Date();
today = parseInt(today.getMonth()+1)+'/'+today.getDate()+'/'+today.getFullYear()+"\nTime : "+today.getHours()+":"+today.getMinutes()+":"+today.getSeconds();
document.write(today);

Et voyez la documentation pour le constructeur Date (). link


Une solution JS d'une ligne:

tl; dr

var todaysDate = new Date(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i) ? new Date(Date.now()).toLocaleString().split(' ')[0].split(',')[0] : new Date(Date.now()).toLocaleString().split(' ')[1] + " " + new Date(Date.now()).toLocaleString().split(' ')[2] + " " + new Date(Date.now()).toLocaleString().split(' ')[3];

bord, ff plus tard, & chrome retour todaysDate = "2/7/2017"
"fonctionne" * dans IE10 +

EDIT 2/7/2017

J'ai découvert que IE10 et IE Edge font les choses un peu différemment .. allez comprendre. avec une new Date(Date.now()).toLocaleString() en entrée,

IE10 retourne:

"Tuesday, February 07, 2017 2:58:25 PM"

Je pourrais écrire une grande fonction longue et FTFY. Mais vous devriez vraiment utiliser moment.js pour ce genre de choses. Mon script nettoie simplement ceci et vous donne la notation US traditionnelle étendue : > todaysDate = "March 06, 2017"

IE EDGE renvoie:

"‎2‎/‎7‎/‎2017‎ ‎2‎:‎59‎:‎27‎ ‎PM"

Bien sûr, ça ne pourrait pas être aussi simple. La chaîne de date d'Edge a des caractères «•» invisibles entre chaque caractère visible. Donc non seulement allons-nous maintenant vérifier si le premier caractère est un nombre, mais les 3 premiers caractères, car il se trouve qu'un seul caractère dans la plage de dates entière sera éventuellement un point ou une barre oblique à un moment donné. Donc, pour garder les choses simples, juste .slice() les trois premiers caractères (minuscule tampon contre les futures manigances) et ensuite vérifier les numéros. Il devrait probablement être noté que ces points invisibles pourraient potentiellement persister dans votre code. Je vais peut-être creuser dans ce cas si vous avez des plans plus ambitieux que d'imprimer cette chaîne à votre vue.

One one-liner mis à jour:

var todaysDate = new Date(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i) ? new Date(Date.now()).toLocaleString().split(' ')[0].split(',')[0] : new Date(Date.now()).toLocaleString().split(' ')[1] + " " + new Date(Date.now()).toLocaleString().split(' ')[2] + " " + new Date(Date.now()).toLocaleString().split(' ')[3];

Ça craint de lire. Que diriez-vous:

var dateString = new Date(Date.now()).toLocaleString();
var todaysDate = dateString.slice(0,3).match(/[0-9]/i) ? dateString.split(' ')[0].split(',')[0] : dateString.split(' ')[1] + " " + dateString.split(' ')[2] + " " + dateString.split(' ')[3];

RÉPONSE ORIGINALE

J'ai un one-liner pour vous:

new Date(Date.now()).toLocaleString().split(', ')[0];

et [1] vous donnera l'heure du jour.


var d = (new Date()).toString().split(' ').splice(1,3).join(' ');

document.write(d)

Pour le décomposer en étapes:

  1. (new Date()).toString() donne "Ven Jun 28 2013 15:30:18 GMT-0700 (PDT)"

  2. (new Date()).toString().split(' ') divise la chaîne ci-dessus sur chaque espace et retourne un tableau comme suit: ["Fri", "Jun", "28", "2013", "15: 31:14 "," GMT-0700 "," (PDT) "]

  3. (new Date()).toString().split(' ').splice(1,3).join(' ') prend les deuxième, troisième et quatrième valeurs du tableau ci-dessus, les joint avec des espaces et retourne un chaîne "Jun 28 2013"


var utc = new Date().toJSON().slice(0,10).replace(/-/g,'/');
document.write(utc);

Utilisez l'option de replace si vous allez réutiliser la variable utc , comme new Date(utc) , car Firefox et Safari ne reconnaissent pas de date avec des tirets.


new Date().toISOString().slice(0,10); 

travaillerait aussi


var date = new Date().toLocaleDateString("en-US");

En outre, vous pouvez appeler la méthode toLocaleDateString avec deux paramètres:

var date = new Date().toLocaleDateString("en-US", {
    "year": "numeric",
    "month": "numeric"
});

Article sur MSDN . Plus d'informations sur cette méthode sur MDN .





time