Question Conversion de millisecondes à une date (jQuery / JavaScript)


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

Je m'ennuie, alors je travaille sur une "shoutbox", et je suis un peu confus par une chose. Je veux obtenir le temps pendant lequel un message est entré et je veux m'assurer que j'obtiens l'heure du serveur, ou du moins que je ne reçois pas l'heure locale de l'utilisateur. Je sais que ce n'est pas grave, puisque cette chose ne sera utilisée par personne d'autre que moi, mais je veux être approfondie. J'ai regardé autour de moi et testé quelques trucs, et je pense que la seule façon de faire est d'obtenir les millisecondes depuis? /? / 1970 ou peu importe, puisque ce sera la même chose pour tout le monde.

Je le fais comme ça:

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

Cela renvoie un nombre comme 1294862756114.

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

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


129
2018-01-12 20:10


origine


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)

219
2018-01-12 20:43



Si vous souhaitez un formatage personnalisé pour votre date, j'offre une fonction simple pour ça:

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

Voici les jetons supportés:

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);
};

133
2018-01-12 20:58



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

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

Vous trouverez ci-dessous 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"

20
2017-07-25 12:22



Vous trouverez ci-dessous un extrait de code pour vous permettre de formater la date sur une sortie souhaitée:

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
2018-01-12 20:45



Essaye celui-là :

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


2
2017-12-30 10:37



Essayez d'utiliser ce code:

var milisegundos = parseInt (data.replace ("/ Date (", "") .replace (") /", "");

var newDate = new Date (milisegundos).toLocaleDateString("en-UE");

Profitez-en!


2
2018-02-21 15:28



utiliser datejs

new Date (). toString ('yyyy-MM-d-h-mm-ss');


0
2018-03-15 03:35



/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
2018-03-14 10:52