web-dev-qa-db-fra.com

Obtenir la date et l'heure actuelles en JavaScript

J'ai un script qui imprime la date et l'heure actuelles en JavaScript, mais le DATE est toujours faux. Voici le code:

var currentdate = new Date();
var datetime = "Last Sync: " + currentdate.getDay() + "/" + currentdate.getMonth() 
+ "/" + currentdate.getFullYear() + " @ " 
+ currentdate.getHours() + ":" 
+ currentdate.getMinutes() + ":" + currentdate.getSeconds();

Il devrait imprimer 18/04/2012 15:07:33 et imprimer 3/3/2012 15:07:33

De l'aide? Merci

396
Ricardo

Lorsque vous appelez .getMonth(), vous devez ajouter +1 pour afficher le mois correct. Le compte Javascript commence toujours à 0. L'appel de .getMonth() en mai renverra donc 4 et non pas 5.

Donc, dans votre code, nous pouvons utiliser currentdate.getMonth()+1 pour afficher la valeur correcte. En outre:

  • .getDate() renvoie le jour du mois <- c'est celui que vous voulez
  • .getDay() est une méthode distincte de l'objet Date qui renvoie un entier représentant le jour actuel de la semaine (0-6) 0 == Sunday etc

donc votre code devrait ressembler à ceci:

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

Les instances de date JavaScript héritent de Date.prototype. Vous pouvez modifier l'objet prototype du constructeur pour qu'il affecte les propriétés et les méthodes héritées par les instances de date JavaScript.

Vous pouvez utiliser l'objet prototype Date pour créer une nouvelle méthode qui renverra la date et l'heure d'aujourd'hui. Ces nouvelles méthodes ou propriétés seront héritées par toutes les instances de l'objet Date, ce qui le rend particulièrement utile si vous devez réutiliser cette fonctionnalité.

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

// For the time now
Date.prototype.timeNow = function () {
     return ((this.getHours() < 10)?"0":"") + this.getHours() +":"+ ((this.getMinutes() < 10)?"0":"") + this.getMinutes() +":"+ ((this.getSeconds() < 10)?"0":"") + this.getSeconds();
}

Vous pouvez alors simplement récupérer la date et l'heure en procédant comme suit:

var newDate = new Date();
var datetime = "LastSync: " + newDate.today() + " @ " + newDate.timeNow();

Ou appelez la méthode inline pour qu'elle soit simplement -

var datetime = "LastSync: " + new Date().today() + " @ " + new Date().timeNow();
538
Mark Walters

Pour obtenir l'heure et la date, vous devez utiliser

    new Date().toLocaleString();

>> "09/08/2014, 2:35:56 AM"

Pour obtenir uniquement la date à utiliser

    new Date().toLocaleDateString();

>> "09/08/2014"

Pour ne prendre que le temps que vous devriez utiliser

    new Date().toLocaleTimeString();

>> "2:35:56 AM"

Ou si vous voulez simplement l'heure au format hh:mm sans AM/PM pour l'anglais américain

    new Date().toLocaleTimeString('en-US', { hour12: false, 
                                             hour: "numeric", 
                                             minute: "numeric"});
>> "02:35"

ou pour l'anglais britannique

    new Date().toLocaleTimeString('en-GB', { hour: "numeric", 
                                             minute: "numeric"});

>> "02:35"

Lire la suite ici .

228
Chhorn Elit

Pour ce vrai style mysql, utilisez la fonction ci-dessous: 2019/02/28 15:33:12

  • Si vous cliquez sur le bouton "Exécuter l'extrait de code" ci-dessous
  • Il vous montrera un exemple d'horloge numérique en temps réel simple
  • La démo apparaîtra sous l'extrait de code.
function getDateTime() {
        var now     = new Date(); 
        var year    = now.getFullYear();
        var month   = now.getMonth()+1; 
        var day     = now.getDate();
        var hour    = now.getHours();
        var minute  = now.getMinutes();
        var second  = now.getSeconds(); 
        if(month.toString().length == 1) {
             month = '0'+month;
        }
        if(day.toString().length == 1) {
             day = '0'+day;
        }   
        if(hour.toString().length == 1) {
             hour = '0'+hour;
        }
        if(minute.toString().length == 1) {
             minute = '0'+minute;
        }
        if(second.toString().length == 1) {
             second = '0'+second;
        }   
        var dateTime = year+'/'+month+'/'+day+' '+hour+':'+minute+':'+second;   
         return dateTime;
    }

    // example usage: realtime clock
    setInterval(function(){
        currentTime = getDateTime();
        document.getElementById("digital-clock").innerHTML = currentTime;
    }, 1000);
<div id="digital-clock"></div>
63
Daniel Lee

Il suffit d'utiliser:

var d = new Date();
document.write(d.toLocaleString());
document.write("<br>");
27
Steve
var currentdate = new Date();

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

Modifiez la méthode .getDay() en .GetDate() et ajoutez-en un à mois, car elle compte les mois à partir de 0.

11
Chuck Norris

Cela devrait faire l'affaire:

function dateToString(date) {
    var month = date.getMonth() + 1;
    var day = date.getDate();
    var dateOfString = (("" + day).length < 2 ? "0" : "") + day + "/";
    dateOfString += (("" + month).length < 2 ? "0" : "") + month + "/";
    dateOfString += date.getFullYear();
    return dateOfString;
}

var currentdate = new Date();
var datetime = "Last Sync: ";
datetime += dateToString(currentdate );
datetime += + currentdate.getHours() + ":"
            + currentdate.getMinutes() + ":"
            + currentdate.getSeconds();
5
sp00m

getDay() obtient le jour de la semaine. 3 c'est mercredi. Vous voulez getDate(), qui retournera 18.

De plus, getMonth() commence à 0, vous devez ajouter 1 pour obtenir 4 (avril).

DEMO: http://jsfiddle.net/4zVxp/

4
Rocket Hazmat

J'ai trouvé le moyen le plus simple d'obtenir la date et l'heure actuelles en JavaScript à partir d'ici - Comment obtenir la date et l'heure actuelles en utilisant JavaScript

var today = new Date();
var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
var CurrentDateTime = date+' '+time;
4
JoyGuru

Vous devez utiliser getDate () pour obtenir la partie date. La fonction getDay () renvoie le numéro du jour (Sunday = 0, Monday = 1 ...) et getMonth () renvoie un index basé sur 0, vous devez donc l'incrémenter de 1.

 var currentdate = new Date(); 

 var datetime = "Last Sync: " + currentdate.getDate() + "/"+  (parseInt(currentdate.getMonth())    + 1)
   + "/" + currentdate.getFullYear() + " @ "  
   + currentdate.getHours() + ":"  
   + currentdate.getMinutes() + ":" + currentdate.getSeconds(); 
4
Scorpion-Prince

obtenir la date et l'heure actuelles

var now = new Date(); 
  var datetime = now.getFullYear()+'/'+(now.getMonth()+1)+'/'+now.getDate(); 
  datetime += ' '+now.getHours()+':'+now.getMinutes()+':'+now.getSeconds(); 
3
surendar

.getDay renvoie le jour de la semaine. Vous avez besoin de .getDate à la place. .getMonth renvoie les valeurs de 0 à 11. Vous devez ajouter 1 au résultat pour obtenir le numéro du mois "humain".

2
Oleg V. Volkov
function UniqueDateTime(format='',language='en-US'){
    //returns a meaningful unique number based on current time, and milliseconds, making it virtually unique
    //e.g : 20170428-115833-547
    //allows personal formatting like more usual :YYYYMMDDHHmmSS, or YYYYMMDD_HH:mm:SS
    var dt = new Date();
    var modele="YYYYMMDD-HHmmSS-mss";
    if (format!==''){
      modele=format;
    }
    modele=modele.replace("YYYY",dt.getFullYear());
    modele=modele.replace("MM",(dt.getMonth()+1).toLocaleString(language, {minimumIntegerDigits: 2, useGrouping:false}));
    modele=modele.replace("DD",dt.getDate().toLocaleString(language, {minimumIntegerDigits: 2, useGrouping:false}));
    modele=modele.replace("HH",dt.getHours().toLocaleString(language, {minimumIntegerDigits: 2, useGrouping:false}));
    modele=modele.replace("mm",dt.getMinutes().toLocaleString(language, {minimumIntegerDigits: 2, useGrouping:false}));
    modele=modele.replace("SS",dt.getSeconds().toLocaleString(language, {minimumIntegerDigits: 2, useGrouping:false}));
    modele=modele.replace("mss",dt.getMilliseconds().toLocaleString(language, {minimumIntegerDigits: 3, useGrouping:false}));
    return modele;
}
2
philippe
function getTimeStamp() {
       var now = new Date();
       return ((now.getMonth() + 1) + '/' + (now.getDate()) + '/' + now.getFullYear() + " " + now.getHours() + ':'
                     + ((now.getMinutes() < 10) ? ("0" + now.getMinutes()) : (now.getMinutes())) + ':' + ((now.getSeconds() < 10) ? ("0" + now
                     .getSeconds()) : (now.getSeconds())));
}
1
deepakssn

Basic JS (bon à apprendre): nous utilisons la fonction Date () et faisons tout ce dont nous avons besoin pour afficher la date et le jour dans notre format personnalisé.

var myDate = new Date();

let daysList = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
let monthsList = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Aug', 'Oct', 'Nov', 'Dec'];


let date = myDate.getDate();
let month = monthsList[myDate.getMonth()];
let year = myDate.getFullYear();
let day = daysList[myDate.getDay()];

let today = `${date} ${month} ${year}, ${day}`;

let amOrPm;
let twelveHours = function (){
    if(myDate.getHours() > 12)
    {
        amOrPm = 'PM';
        let twentyFourHourTime = myDate.getHours();
        let conversion = twentyFourHourTime - 12;
        return `${conversion}`

    }else {
        amOrPm = 'AM';
        return `${myDate.getHours()}`}
};
let hours = twelveHours();
let minutes = myDate.getMinutes();

let currentTime = `${hours}:${minutes} ${amOrPm}`;

console.log(today + ' ' + currentTime);

Nœud JS (rapide et facile): Installez le pagckage npm en utilisant (date-et-heure d'installation de npm), puis exécutez la procédure ci-dessous.

let nodeDate = require('date-and-time');
let now = nodeDate.format(new Date(), 'DD-MMMM-YYYY, hh:mm:ss a');
console.log(now);
1
Girish Mahadevan

Cette question est assez ancienne et les réponses le sont aussi. Au lieu de ces fonctions monstrueuses, nous pouvons maintenant utiliser moment.js pour obtenir la date actuelle, ce qui facilite grandement les choses. Tout ce qui doit être fait est d'inclure moment.js dans notre projeter et obtenir une date bien formatée, par exemple, en:

moment().format("dddd, MMMM Do YYYY, h:mm:ss a");

Je pense que cela facilite beaucoup le traitement des dates en javascript.

1
chris p bacon

Je devais comprendre cela pour une ardoise dans After Effects. Voici ce que je suis arrivé après avoir pris des éléments de différentes sources - Le formatage est MM/JJ/AAAA HH: MM AM/PM

D = new Date(Date(00));
M = D.getMonth()+1;
H = D.getHours();
Mi = D.getMinutes();

N = "AM"
if (H >= 12)
N = "PM"
if (H > 12)
{
H = H-12
}

amtOfZeroes = 2;
isNeg = false;

if (M < 0)
{
M = Math.abs(M);
isNeg = true;
}
Mo = Math.round(M) + "";
while(Mo.length < amtOfZeroes)
{

Mo = "0" + Mo; 
}
if (isNeg)
Mo = "-" + Mo;

if (H < 0)
{
H = Math.abs(H);
isNeg = true;
}
Ho = Math.round(H) + "";
while(Ho.length < amtOfZeroes)
{
Ho = "0" + Ho; 
}
if (isNeg)
Ho = "-" + Ho;

if (Mi < 0)
{
Mi = Math.abs(Mi);
isNeg = true;
}
Min = Math.round(Mi) + "";
while(Min.length < amtOfZeroes)
{
Min = "0" + Min; 
}
if (isNeg)
Min = "-" + Min;

T = Ho + ":" + (Min)

Mo + "/" + D.getDate() + "/" + D.getFullYear() + "  " + T + " " + N
1
Bjorn Ahlstedt

Ce petit code est facile et fonctionne partout.

<p id="dnt"></p>
<script>
document.getElementById("dnt").innerHTML = Date();
</script>

il y a de la place pour concevoir

1
Varoon Ramtahal
dt= new Date();
alert(dt.toISOString().substring(8,10) + "/" + 
dt.toISOString().substring(5,7)+ "/" + 
dt.toISOString().substring(0,4) + " " + 
dt.toTimeString().substring(0,8))
0
GraninDm

var now = new Date ();

 var days = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');

 var months = new Array('January','February','March','April','May','June','July','August','September','October','November','December');

 var date = ((now.getDate()<10) ? "0" : "")+ now.getDate();

 function fourdigits(number)    {
         return (number < 1000) ? number + 1900 : number;
                                                                 }
 today =  days[now.getDay()] + ", " +
          months[now.getMonth()] + " " +
          date + ", " +
          (fourdigits(now.getYear()))+" "
          + now.getHours()+":"+now.getMinutes() + ":"
          + now.getSeconds();

se référer http://anushitech.com/how/current-date-and-time-in-javascript

0
Ajmal M.P.
var datetime = new Date().toLocaleString().slice(0,9) +" "+new Date(new Date()).toString().split(' ')[4];
console.log(datetime);
0
Moshood Awari
function display_c(){   
    var refresh = 1000; // Refresh rate in milli seconds    
    mytime = setTimeout('display_ct()', refresh)    
}

function display_ct() {

    var strcount    
    var currentdate = new Date();

    document.getElementById('ct').innerHTML = currentdate.toDateString() + " " + currentdate.getHours() + ":" + currentdate.getMinutes() + ":" + currentdate.getSeconds();

    tt = display_c();   
}


id = 'ct'     // Replace in Your id

onload = "display_ct();"     // Type inside a Body Tag
0
Wasim

Ma bonne réponse est d’utiliser ce petit morceau de JS: https://github.com/rhroyston/clock-js

clock.now   --> 1462248501241
clock.time  --> 11:08 PM
clock.weekday   --> monday
clock.day   --> 2
clock.month --> may
clock.year  --> 2016
clock.since(1462245888784)  --> 44 minutes
clock.until(1462255888784)  --> 2 hours
clock.what.time(1462245888784)  --> 10:24 PM
clock.what.weekday(1461968554458)   --> friday
clock.what.day('14622458887 84')    --> 2
clock.what.month(1461968554458) --> april
clock.what.year('1461968554458')    --> 2016
clock.what.time()   --> 11:11 PM
clock.what.weekday('14619685abcd')  -->     clock.js error : expected unix timestamp as argument
clock.unit.seconds  --> 1000
clock.unit.minutes  --> 60000
clock.unit.hours    --> 3600000
clock.unit.days --> 86400000
clock.unit.weeks    --> 604800000
clock.unit.months   --> 2628002880
clock.unit.years    --> 31536000000
0
Ron Royston

Je pense que je suis très en retard pour partager ma réponse, mais je pense que cela vaudra la peine.

function __getCurrentDateTime(format){
    var dt=new Date(),x,date=[];
    date['d']=dt.getDate();
    date['dd']=dt.getDate()>10?dt.getDate():'0'+dt.getDate();
    date['m']=dt.getMonth()+1;
    date['mm']=(dt.getMonth()+1)>10?(dt.getMonth()+1):'0'+(dt.getMonth()+1);
    date['yyyy']=dt.getFullYear();
    date['yy']=dt.getFullYear().toString().slice(-2);
    date['h']=(dt.getHours()>12?dt.getHours()-12:dt.getHours());
    date['hh']=dt.getHours();
    date['mi']=dt.getMinutes();
    date['mimi']=dt.getMinutes()<10?('0'+dt.getMinutes()):dt.getMinutes();
    date['s']=dt.getSeconds();
    date['ss']=dt.getSeconds()<10?('0'+dt.getSeconds()):dt.getSeconds();
    date['sss']=dt.getMilliseconds();
    date['ampm']=(dt.getHours()>=12?'PM':'AM');
    x=format.toLowerCase();
    x=x.indexOf('dd')!=-1?x.replace(/(dd)/i,date['dd']):x.replace(/(d)/i,date['d']);
    x=x.indexOf('mm')!=-1?x.replace(/(mm)/i,date['mm']):x.replace(/(m)/i,date['m']);
    x=x.indexOf('yyyy')!=-1?x.replace(/(yyyy)/i,date['yyyy']):x.replace(/(yy)/i,date['yy']);
    x=x.indexOf('hh')!=-1?x.replace(/(hh)/i,date['hh']):x.replace(/(h)/i,date['h']);
    x=x.indexOf('mimi')!=-1?x.replace(/(mimi)/i,date['mimi']):x.replace(/(mi)/i,date['mi']);
    if(x.indexOf('sss')!=-1){   x=x.replace(/(sss)/i,date['sss']);  }
    x=x.indexOf('ss')!=-1?x.replace(/(ss)/i,date['ss']):x.replace(/(s)/i,date['s']);
    if(x.indexOf('ampm')!=-1){  x=x.replace(/(ampm)/i,date['ampm']);    }
    return x;
}

console.log(__getCurrentDateTime());  //returns in dd-mm-yyyy HH:MM:SS
console.log(__getCurrentDateTime('dd-mm-yyyy'));    //return in 05-12-2016
console.log(__getCurrentDateTime('dd/mm*yyyy'));    //return in 05/12*2016
console.log(__getCurrentDateTime('hh:mimi:ss'));    //return in 13:05:30

console.log (__ getCurrentDateTime ('h: mi: ss ampm')); // retour dans 13: 17: 30

0
Shivam Gupta

C'est simple et superbe

 $(document).ready(function () { 
            var fpsOut = document.getElementById('myTime');
            setInterval(function () {
                var d = new Date(); 
                fpsOut.innerHTML = d;
            }, 1000);
        });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="myTime"></div>

s'il vous plaît trouver le violoneur ci-dessous pour l'exemple

http://jsfiddle.net/4zVxp/483/

0
Abhilash Thomas

Si quelqu'un est à la recherche de fonction

console.log(formatAMPM());
function formatAMPM() {
  var date = new Date();
  var hours = date.getHours();
  var minutes = date.getMinutes();
  var seconds = date.getSeconds();
  var ampm = hours >= 12 ? 'PM' : 'AM';
  hours = hours % 12;
  hours = hours ? hours : 12; // the hour '0' should be '12'
  minutes = minutes < 10 ? '0'+minutes : minutes;
  return strTime = date.getMonth() + '/' + date.getDay()+'/'+date.getFullYear()+' '+ hours + ':' + minutes +':'+ seconds + " " +ampm;
}
0
Aman Lalpuria