如何将毫秒转换为日期和时间?

时间:2016-10-05 20:11:46

标签: javascript angularjs date

我知道这个问题已被多次询问和回答,但我无法将给定的毫秒转换为日期和时间。

我有以下代码:

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格式转换。

3 个答案:

答案 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()

这将以本地接受的格式输出日期和时间(我想这取决于用户系统日期时间设置)!

因此,如果您只需要一种本地接受的格式(并且不严格希望在日期中使用斜杠),则可以使用它。