我需要以毫秒为单位“ 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)
就是给您。没有任何进一步的要求。稍后,在某个时候,如果您想以文本形式显示该日期,请使用toLocaleDateString
或Intl.DateTimeFormat
或类似方法以所需的格式对其进行格式化。但是直到/除非您需要将它们转换为文本(字符串),然后才能进行。