将日期从毫秒格式化为这种格式:DD/MM/YYYY hh:mm:ss(美国时间区域设置)使用原生 JS
Formating date from milliseconds to this format: DD/MM/YYYY hh:mm:ss (US time locale) using native JS
我需要以毫秒为单位格式化此值“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;
}
但是这个 returns 错误 "Invalid Date"。还有另一种方法可以将字符串转换为日期吗?
...but this result has String type. I need exactly Date type.
日期对象没有格式。格式化本质上是一种文本事物(例如,字符串)。
如果您想要 Date
,那么 new Date(+date)
就可以满足您的需求。没有进一步的要求。稍后,如果您想以文本形式显示该日期,请使用 toLocaleDateString
或 Intl.DateTimeFormat
或类似方式按照您希望的格式设置它们的格式。但不是 until/unless 您需要将它们转换为文本(字符串)。
我需要以毫秒为单位格式化此值“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;
}
但是这个 returns 错误 "Invalid Date"。还有另一种方法可以将字符串转换为日期吗?
...but this result has String type. I need exactly Date type.
日期对象没有格式。格式化本质上是一种文本事物(例如,字符串)。
如果您想要 Date
,那么 new Date(+date)
就可以满足您的需求。没有进一步的要求。稍后,如果您想以文本形式显示该日期,请使用 toLocaleDateString
或 Intl.DateTimeFormat
或类似方式按照您希望的格式设置它们的格式。但不是 until/unless 您需要将它们转换为文本(字符串)。