web-dev-qa-db-fra.com

Convertir un objet date au format jj/mm/aaaa hh: mm: ss

J'ai un objet datetime et sa valeur est la suivante

2017-03-16T17:46:53.677

Quelqu'un peut-il me faire savoir s'il vous plaît comment convertir cela en jj/mm/aaaa hh: mm: format ss

8
Rihana

Vous pouvez entièrement formater la chaîne comme mentionné dans d'autres messages. Mais je pense que vous avez intérêt à utiliser les fonctions locales dans l'objet date? 

var d = new Date("2017-03-16T17:46:53.677"); 
console.log( d.toLocaleString() ); 

modifier :

ISO 8601 (le format avec lequel vous construisez) indique que le fuseau horaire est ajouté à la fin par un [{+|-}hh][:mm] à la fin de la chaîne. 

afin que vous puissiez faire ceci:

var tzOffset = "+07:00" 
var d = new Date("2017-03-16T17:46:53.677"+ tzOffset);
console.log(d.toLocaleString());
var d = new Date("2017-03-16T17:46:53.677"); //  assumes local time. 
console.log(d.toLocaleString());
var d = new Date("2017-03-16T17:46:53.677Z"); // UTC time
console.log(d.toLocaleString());

modifier :

Juste pour que vous sachiez que la fonction locale affiche la date et l’heure à la manière de la langue de l’utilisateur et l'emplacement. La date européenne est dd/mm/yyyy et US est mm/dd/yyyy

var d = new Date("2017-03-16T17:46:53.677");
console.log(d.toLocaleString("en-US"));
console.log(d.toLocaleString("en-GB"));

10
corn3lius

C'est ce que j'utilise:

function getDate() {
  var date = new Date(),
    year = date.getFullYear(),
    month = (date.getMonth() + 1).toString(),
    formatedMonth = (month.length === 1) ? ("0" + month) : month,
    day = date.getDate().toString(),
    formatedDay = (day.length === 1) ? ("0" + day) : day,
    hour = date.getHours().toString(),
    formatedHour = (hour.length === 1) ? ("0" + hour) : hour,
    minute = date.getMinutes().toString(),
    formatedMinute = (minute.length === 1) ? ("0" + minute) : minute,
    second = date.getSeconds().toString(),
    formatedSecond = (second.length === 1) ? ("0" + second) : second;
  return formatedDay + "-" + formatedMonth + "-" + year + " " + formatedHour + ':' + formatedMinute + ':' + formatedSecond;
};

document.getElementById("date").innerHTML = getDate();
setInterval(function() {
  document.getElementById("date").innerHTML = getDate();
}, 3000);
<span id="date"></span>

Vous aurez probablement juste besoin de la méthode getDate().

9
thekodester

Et c'est parti:

var today = new Date();
var day = today.getDate() + "";
var month = (today.getMonth() + 1) + "";
var year = today.getFullYear() + "";
var hour = today.getHours() + "";
var minutes = today.getMinutes() + "";
var seconds = today.getSeconds() + "";

day = checkZero(day);
month = checkZero(month);
year = checkZero(year);
hour = checkZero(hour);
mintues = checkZero(minutes);
seconds = checkZero(seconds);

console.log(day + "/" + month + "/" + year + " " + hour + ":" + minutes + ":" + seconds);


function checkZero(data){
  if(data.length == 1){
    data = "0" + data;
  }
  return data;
}

4
Marco Salerno

Dans Vanilla js, vous pouvez utiliser les méthodes .getMonth (), .getYear et .getDate (), puis formater la chaîne à votre guise.

Voici plus d'informations:

http://www.webdevelopersnotes.com/10-ways-to-format-time-and-date-using-javascript

0
Canolyb1