I\'m a bit of a rambler, but I\'ll try to keep this clear -
I\'m bored, so I\'m working on a \"shoutbox\", and I\'m a little confused over one thing. I want to get the time that a message is entered, and I want to make sure I\'m getting the server time, or at least make sure I\'m not getting the local time of the user. I know it doesn\'t matter, since this thing won\'t be used by anyone besides me, but I want to be thorough. I\'ve looked around and tested a few things, and I think the only way to do this is to get the milliseconds since ?/?/1970 or whatever it is, since that\'d be the same for everyone.
I\'m doing that like so:
var time = new Date();
var time = time.getTime();
That returns a number like 1294862756114
.
Is there a way to convert 1294862756114
to a more readable date, like DD/MM/YYYY HH:MM:SS
?
So, basically, I\'m looking for JavaScript\'s equivalent of PHP\'s date();
function.
If you want custom formatting for your date I offer a simple function for it:
var now = new Date;
console.log( now.customFormat( \"#DD#/#MM#/#YYYY# #hh#:#mm#:#ss#\" ) );
Here are the tokens supported:
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
And here\'s the 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);
};
You can simply us the Datejs library in order to convert the date to your desired format.
I\'ve run couples of test and it works.
Below is a snippet illustrating how you can achieve that:
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\"
Below is a snippet to enable you format the date to a desirable output:
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);
Try using this code:
var milisegundos = parseInt(data.replace(\"/Date(\", \"\").replace(\")/\", \"\"));
var newDate = new Date(milisegundos).toLocaleDateString(\"en-UE\");
Enjoy it!
Try this one :
var time = new Date().toJSON();
Try using this 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
See more: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString
use datejs
new Date().toString(\'yyyy-MM-d-h-mm-ss\');
/Date(1383066000000)/
function convertDate(data) {
var getdate = parseInt(data.replace(\"/Date(\", \"\").replace(\")/\", \"\"));
var ConvDate= new Date(getdate);
return ConvDate.getDate() + \"/\" + ConvDate.getMonth() + \"/\" + ConvDate.getFullYear();
}
Assume the date as milliseconds date is 1526813885836
, so you can access the date as string with this sample code:
console.log(new Date(1526813885836).toString());
For clearness see below code:
const theTime = new Date(1526813885836);
console.log(theTime.toString());