我知道这个问题已被多次询问和回答,但我无法将给定的毫秒转换为日期和时间。
我有以下代码:
var date = '1475235770601';
var d = new Date(date);
var ds = d.toLocaleString();
alert(ds);
console.log(ds);
当我运行此操作时,我会在控制台和警报中看到无效日期。
但是当我粘贴毫秒here时,它会以本地日期和时间格式转换为Fri Sep 30 2016 17:12:50
。
实际上我想以09/30/16 17:12:50
格式转换。
答案 0 :(得分:4)
Date
的构造函数接受一个数字,而不是字符串。直接喂它:
date = 1475235770601; // Note the lack of quotes making it a number
或者,如果您已经有一个字符串,请明确转换它:
date = parseInt(date);
答案 1 :(得分:4)
我最终改变了我的代码:
var date = '1475235770601';
var d = new Date(parseInt(date, 10));
var ds = d.toString('MM/dd/yy HH:mm:ss');
console.log(ds);
输出:
09/30/16 17:12:50
答案 2 :(得分:0)
我得到了一个相当合理的结果:
const rawDate = new Date(milliseconds)
const date = rawDate.toLocaleDateString() + " " + rawDate.toLocaleTimeString()
这将以本地接受的格式输出日期和时间(我想这取决于用户系统日期时间设置)!
因此,如果您只需要一种本地接受的格式(并且不严格希望在日期中使用斜杠),则可以使用它。