admin 管理员组文章数量: 1086019
I have a milliseconds integer, and I am trying to convert it to a readable date in the format of yyyy MM dd
(2014-08-06).
var maxDate = 1407267771429;
maxDate = new Date(maxDate);
maxDateFinal = maxDate.toString('yyyy MM dd');
WORKING EXAMPLE
Although, maxDateFinal
always seems to equal Wed Aug 06 2014 05:42:51 GMT+1000 (E. Australia Standard Time)
I have added console.log()
after each call in my fiddle to demonstrate the change of the variables, although it seems as if toString()
is doing absolutely nothing to the date at all.
I have a milliseconds integer, and I am trying to convert it to a readable date in the format of yyyy MM dd
(2014-08-06).
var maxDate = 1407267771429;
maxDate = new Date(maxDate);
maxDateFinal = maxDate.toString('yyyy MM dd');
WORKING EXAMPLE
Although, maxDateFinal
always seems to equal Wed Aug 06 2014 05:42:51 GMT+1000 (E. Australia Standard Time)
I have added console.log()
after each call in my fiddle to demonstrate the change of the variables, although it seems as if toString()
is doing absolutely nothing to the date at all.
-
what is the source of your
var maxDate
? Minitech's answer seems correct. – sidewaiise Commented Sep 24, 2014 at 1:29 - toString simply just prints out the date, It does not format it. developer.mozilla/en-US/docs/Web/JavaScript/Reference/… – andrex Commented Sep 24, 2014 at 1:30
- possible duplicate of how to format javascript date – andrex Commented Sep 24, 2014 at 1:34
2 Answers
Reset to default 3JavaScript doesn’t have built-in date formatting. You can do it yourself, but there are also a few libraries out there.
function pad(s, width, character) {
return new Array(width - s.toString().length + 1).join(character) + s;
}
var maxDate = new Date(1407267771429);
var maxDateFormatted =
maxDate.getFullYear() +
' ' + pad(maxDate.getMonth() + 1, 2, '0') +
' ' + pad(maxDate.getDate(), 2, '0');
Unfortunately JavaScript's Date
does not provide arbitrary formatting with the toString()
method (or any other method). To get your date in yyyy-mm-dd
format, you could use the toISOString()
and then the substr(start, length)
method. For instance:
var maxDate = new Date(1407267771429);
var isoDate = maxDate.toISOString(); // 2014-08-05T19:42:51.429Z
isoDate.substr(0, 10); // 2014-08-05
This should work in all major browsers including IE9+. To support support IE8 and older browsers, you could do something like this:
function toISODate(milliseconds) {
var date = new Date(milliseconds);
var y = date.getFullYear()
var m = date.getMonth() + 1;
var d = date.getDate();
m = (m < 10) ? '0' + m : m;
d = (d < 10) ? '0' + d : d;
return [y, m, d].join('-');
}
Alternatively you could look into something like Moment.js (http://momentjs./) or jquery-dateFormat (https://github./phstc/jquery-dateFormat).
本文标签: jqueryHow to convert milliseconds to a readable date with JavascriptStack Overflow
版权声明:本文标题:jquery - How to convert milliseconds to a readable date with Javascript? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1744061866a2526869.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论