Conversion de millisecondes en date (jQuery / JavaScript)

Je suis un peu un rambler, mais je vais essayer de garder cela clair-

Je m'ennuie, donc je travaille sur un "shoutbox", et je suis un peu confus sur une chose. Je veux obtenir le temps qu'un message est entré, et je veux m'assurer que je suis de l'heure du serveur, ou au moins m'assurer que je ne suis pas d'obtenir l'heure locale de l'utilisateur. Je sais que ça n'a pas d'importance, puisque cette chose ne sera utilisée par personne à part moi, mais je veux être minutieux. J'ai regardé autour et testé quelques choses, et je pense que le la seule façon de le faire est d'obtenir les millisecondes depuis ?/?/ 1970 ou quoi que ce soit, puisque ce serait la même chose pour tout le monde.

Je fais ça comme ça:

var time = new Date();
var time = time.getTime();

Qui renvoie un nombre comme 1294862756114.

Existe-t-il un moyen de convertir 1294862756114 en une date plus lisible, comme DD/MM/YYYY HH:MM:SS?

Donc, fondamentalement, je cherche L'équivalent de JavaScript de la fonction date(); de PHP.

132
demandé sur Peter Mortensen 2011-01-12 23:10:39

10 réponses

var time = new Date().getTime();
var date = new Date(time);
alert(date.toString()); // Wed Jan 12 2011 12:42:46 GMT-0800 (PST)
225
répondu Brian Donovan 2011-01-12 20:43:03

Si vous voulez un formatage personnalisé pour votre date, j'offre UNE FONCTION simple pour cela:

var now = new Date;
console.log( now.customFormat( "#DD#/#MM#/#YYYY# #hh#:#mm#:#ss#" ) );

Voici les jetons pris en charge:

token:     description:             example:
#YYYY#     4-digit year             1999
#YY#       2-digit year             99
#MMMM#     full month name          February
#MMM#      3-letter month name      Feb
#MM#       2-digit month number     02
#M#        month number             2
#DDDD#     full weekday name        Wednesday
#DDD#      3-letter weekday name    Wed
#DD#       2-digit day number       09
#D#        day number               9
#th#       day ordinal suffix       nd
#hhhh#     2-digit 24-based hour    17
#hhh#      military/24-based hour   17
#hh#       2-digit hour             05
#h#        hour                     5
#mm#       2-digit minute           07
#m#        minute                   7
#ss#       2-digit second           09
#s#        second                   9
#ampm#     "am" or "pm"             pm
#AMPM#     "AM" or "PM"             PM

Et voici le code:

//*** This code is copyright 2002-2016 by Gavin Kistner, !@phrogz.net
//*** It is covered under the license viewable at http://phrogz.net/JS/_ReuseLicense.txt
Date.prototype.customFormat = function(formatString){
  var YYYY,YY,MMMM,MMM,MM,M,DDDD,DDD,DD,D,hhhh,hhh,hh,h,mm,m,ss,s,ampm,AMPM,dMod,th;
  YY = ((YYYY=this.getFullYear())+"").slice(-2);
  MM = (M=this.getMonth()+1)<10?('0'+M):M;
  MMM = (MMMM=["January","February","March","April","May","June","July","August","September","October","November","December"][M-1]).substring(0,3);
  DD = (D=this.getDate())<10?('0'+D):D;
  DDD = (DDDD=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][this.getDay()]).substring(0,3);
  th=(D>=10&&D<=20)?'th':((dMod=D%10)==1)?'st':(dMod==2)?'nd':(dMod==3)?'rd':'th';
  formatString = formatString.replace("#YYYY#",YYYY).replace("#YY#",YY).replace("#MMMM#",MMMM).replace("#MMM#",MMM).replace("#MM#",MM).replace("#M#",M).replace("#DDDD#",DDDD).replace("#DDD#",DDD).replace("#DD#",DD).replace("#D#",D).replace("#th#",th);
  h=(hhh=this.getHours());
  if (h==0) h=24;
  if (h>12) h-=12;
  hh = h<10?('0'+h):h;
  hhhh = hhh<10?('0'+hhh):hhh;
  AMPM=(ampm=hhh<12?'am':'pm').toUpperCase();
  mm=(m=this.getMinutes())<10?('0'+m):m;
  ss=(s=this.getSeconds())<10?('0'+s):s;
  return formatString.replace("#hhhh#",hhhh).replace("#hhh#",hhh).replace("#hh#",hh).replace("#h#",h).replace("#mm#",mm).replace("#m#",m).replace("#ss#",ss).replace("#s#",s).replace("#ampm#",ampm).replace("#AMPM#",AMPM);
};
136
répondu Phrogz 2016-05-25 05:16:06

Vous pouvez simplement nous la bibliothèqueDatejs afin de convertir la date au format souhaité.

J'ai couru des couples de test et ça marche.

Voici un extrait illustrant comment vous pouvez y parvenir:

var d = new Date(1469433907836);

d.toLocaleString(); // expected output: "7/25/2016, 1:35:07 PM"

d.toLocaleDateString(); // expected output: "7/25/2016"

d.toDateString();  // expected output: "Mon Jul 25 2016"

d.toTimeString(); // expected output: "13:35:07 GMT+0530 (India Standard Time)"

d.toLocaleTimeString(); // expected output: "1:35:07 PM"
21
répondu Ravindra 2017-06-04 09:32:49

Voici un extrait pour vous permettre de formater la date à une sortie souhaitable:

var time = new Date();
var time = time.getTime();

var theyear = time.getFullYear();
var themonth = time.getMonth() + 1;
var thetoday = time.getDate();

document.write("The date is: ");
document.write(theyear + "/" + themonth + "/" + thetoday);
15
répondu John K. 2017-06-04 09:44:09

Essayez celui-ci :

var time = new Date().toJSON();

2
répondu abhi 2014-01-13 08:55:17

Essayez d'utiliser ce code:

Var milisegundos = parseInt(les données.remplacer("/Date(", "").remplacer(")/", ""));

Var newDate = nouvelle Date (milisegundos).toLocaleDateString("fr-UE");

Profitez-en!

2
répondu Kenlly Acosta 2018-02-21 15:28:45

Utiliser datejs

Nouvelle Date ().toString ('AAAA-MM-d-h-mm-ss');

0
répondu smenon 2016-03-15 03:35:22
/Date(1383066000000)/

function convertDate(data) {
    var getdate = parseInt(data.replace("/Date(", "").replace(")/", ""));
    var ConvDate= new Date(getdate);
    return ConvDate.getDate() + "/" + ConvDate.getMonth() + "/" + ConvDate.getFullYear();
}
0
répondu zero begin 2018-03-14 11:27:51

Supposons que la date en millisecondes date est 1526813885836, de sorte que vous pouvez accéder à la date en tant que chaîne avec cet exemple de code:

console.log(new Date(1526813885836).toString());

Pour la clarté, voir le code ci-dessous:

const theTime = new Date(1526813885836);
console.log(theTime.toString());
0
répondu AngelHotxxx 2018-05-20 14:14:27

Essayez d'utiliser ce code:

var datetime = 1383066000000; // anything
var date = new Date(datetime);
var options = {
        year: 'numeric', month: 'numeric', day: 'numeric',
    };

var result = date.toLocaleDateString('en', options); // 10/29/2013

Voir plus: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString

0
répondu BBTurtle 2018-08-22 09:56:06