包装国际日期时间格式的格式



我尝试使用Intl.DateTimeFormat格式化ISO日期字符串。 由于它不接受字符串,我尝试修改实例的format函数。

它返回一个错误:

范围错误:时间值无效

var str = '2018-05-30T12:20:51.526Z'
var date = new Date(str)
var dtf = new Intl.DateTimeFormat('en');
var format = dtf.format;
dtf.format = function(str) {
var date = new Date(str);
return format(date);
}
console.log(new Intl.DateTimeFormat('en').format(date)) // 5/30/2018
console.log(dtf.format(str))

这是一个带有代码的 JsBin。

我认为你最好使用"moment.js"来格式化它。

var str = '2018-05-30T12:20:51.526Z'
var date = new Date(str)

console.log(new Intl.DateTimeFormat('en').format(date))
console.log(moment(str).format("MM/DD/YYYY"));
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
<title>JS Bin</title>
</head>
<body>
</body>
</html>

在HTML文件中导入"时刻"脚本,您可以将ISO日期转换为所需的任何格式。

最新更新