我需要以毫秒为单位“ 1543325996”来格式化此值,例如“ 18/01/1970,11:42:05 PM”。我已经使用'toLocaleTimeString'函数得到了正确的结果,但是此结果具有String类型。我需要确切的日期类型。

function dateFormat(date) {
   var formDate = new Date(+date).toLocaleDateString("en-GB");
   var formTime = new Date(+date).toLocaleTimeString("en-US");
   var concatDate = (formDate + ", " + formTime);
    // here I've got error 'Invalid Date'. I know that it's a wrong way, but don't know what to do.
   var newDate = new Date(concatDate);
return newDate;


}

但这会返回错误“无效日期”。还有另一种将String转换为Date的方法吗?

最佳答案

...但是此结果具有String类型。我需要确切的日期类型。


日期对象没有格式。格式化本质上是一种文本内容(例如字符串)。

如果您要Date,那么new Date(+date)就是给您。没有任何进一步的要求。稍后,在某个时候,如果您想以文本形式显示该日期,请使用toLocaleDateStringIntl.DateTimeFormat或类似方法以所需的格式对其进行格式化。但是直到/除非您需要将它们转换为文本(字符串),然后才能进行。

07-25 21:50
查看更多