Comment convertir ce timestamp 1382086394000
en 18-10-2013 08:53:14
en utilisant une fonction en javascript ? Actuellement, j'ai cette fonction :
function cleanDate(d) {return new Date(+d.replace(/\/Date\((\d+)\)\//, '$1'));}
Comment convertir ce timestamp 1382086394000
en 18-10-2013 08:53:14
en utilisant une fonction en javascript ? Actuellement, j'ai cette fonction :
function cleanDate(d) {return new Date(+d.replace(/\/Date\((\d+)\)\//, '$1'));}
Nous devons créer une nouvelle fonction en utilisant JavaScript.
function unixTime(unixtime) {
var u = new Date(unixtime*1000);
return u.getUTCFullYear() +
'-' + ('0' + u.getUTCMonth()).slice(-2) +
'-' + ('0' + u.getUTCDate()).slice(-2) +
' ' + ('0' + u.getUTCHours()).slice(-2) +
':' + ('0' + u.getUTCMinutes()).slice(-2) +
':' + ('0' + u.getUTCSeconds()).slice(-2) +
'.' + (u.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5)
};
console.log(unixTime(1370001284))
2016-04-30 08:36:26.000
Utilisez .toLocaleString
:
// undefined utilise la langue par défaut
console.log(new Date().toLocaleString(undefined, {dateStyle: 'short'}));
Ou une méthode personnalisée au cas où vous ne voulez pas utiliser toLocaleString pour une raison quelconque :
formatDate
est la fonction que vous pouvez appeler et passer la date que vous souhaitez formater en jj/mm/aaaa
var unformatedDate = new Date("2017-08-10 18:30:00");
$("#hello").append(formatDate(unformatedDate));
function formatDate(nowDate) {
return nowDate.getDate() +"/"+ (nowDate.getMonth() + 1) + '/'+ nowDate.getFullYear();
}
C'est ce que j'ai fait pour l'API Instagram. J'ai converti le timestamp avec la méthode de la date en le multipliant par 1000. puis j'ai ajouté toutes les entités individuellement comme (année, mois, etc)
créé la liste personnalisée des noms de mois et l'ai assortie avec la méthode getMonth()
qui renvoie l'index du mois.
convertStampDate(unixtimestamp){
// Tableau des mois
var months_arr = ['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'];
// Convertir le timestamp en millisecondes
var date = new Date(unixtimestamp*1000);
// Année
var year = date.getFullYear();
// Mois
var month = months_arr[date.getMonth()];
// Jour
var day = date.getDate();
// Heures
var hours = date.getHours();
// Minutes
var minutes = "0" + date.getMinutes();
// Secondes
var seconds = "0" + date.getSeconds();
// Afficher la date et l'heure au format MM-jj-aaaa h:m:s
var fulldate = month+' '+day+'-'+year+' '+hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
// date finale
var convdataTime = month+' '+day;
return convdataTime;
}
Appel avec un argument de tampon convertStampDate('1382086394000')
et c'est tout.
Ma variante ES6 produit une chaîne de caractères comme ceci 2020-04-05_16:39:45.85725
. N'hésitez pas à modifier l'instruction return pour obtenir le format dont vous avez besoin :
const getDateStringServ = timestamp => {
const plus0 = num => `0${num.toString()}`.slice(-2)
const d = new Date(timestamp)
const year = d.getFullYear()
const monthTmp = d.getMonth() + 1
const month = plus0(monthTmp)
const date = plus0(d.getDate())
const hour = plus0(d.getHours())
const minute = plus0(d.getMinutes())
const second = plus0(d.getSeconds())
const rest = timestamp.toString().slice(-5)
return `${year}-${month}-${date}_${hour}:${minute}:${second}.${rest}`
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.