【问题标题】:How to convert milliseconds to date and time?如何将毫秒转换为日期和时间?
【发布时间】:2017-02-14 10:10:40
【问题描述】:

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

我有以下代码:

var date = '1475235770601';
var d = new Date(date);
var ds = d.toLocaleString();
alert(ds);
console.log(ds);

当我运行它时,我在控制台和警报中看到 Invalid Date

但是当我粘贴毫秒here 时,它会以本地日期和时间的格式很好地转换为Fri Sep 30 2016 17:12:50

其实我想转换成09/30/16 17:12:50的格式。

【问题讨论】:

标签: javascript angularjs date


【解决方案1】:

我得到了一个相当合理的结果:

const rawDate = new Date(milliseconds)
const date = rawDate.toLocaleDateString() + " " + rawDate.toLocaleTimeString()

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

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

【讨论】:

    【解决方案2】:

    我最终像这样更改了我的代码:

    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
    

    【讨论】:

      【解决方案3】:

      Date 的构造函数接受一个数字,而不是一个字符串。直接输入:

      date = 1475235770601; // Note the lack of quotes making it a number
      

      或者,如果您已经有一个字符串,则显式转换它:

      date = parseInt(date);
      

      【讨论】:

      • "Date 的构造函数接受一个数字,而不是字符串"。不正确,那应该是“Date 构造函数采用 数字或字符串”,它的行为会根据给定的内容而变化。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-26
      • 1970-01-01
      • 1970-01-01
      • 2021-06-14
      • 2019-10-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多