怎么把ISO Date格式转换成yyyymmddhsi格式?

时间:2019-12-24 09:59:48

标签: javascript date

我有一个"2016-07-14T10:52:36.000Z"这样的日期格式,我想将其转换为yyyymmddhis格式。

原因是在我的项目中,我将文件存储在AWS S3中,并通过上传时间生成了链接。

我尝试使用moment.js moment("2016-07-14T10:52:36.000Z").format('yyyymmddhis');

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:0)

格式字符串错误。

更改

.format('yyyymmddhis')

收件人

.format('YYYYMMDDHms')

.format('YYYYMMDDHHmmss')  // with "0" padding for hours/minutes/seconds

var output = moment("2016-07-14T10:52:36.000Z").format('YYYYMMDDHHmmss');
console.log(output);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>

答案 1 :(得分:0)

如果您不想使用任何第三方库,则可以创建javascript日期原型

Date.prototype.customFormat = function(){
var currentDate = new Date(this);
var currentMonth = currentDate.getMonth() >= 9 ? currentDate.getMonth() + 1 : "0" + (currentDate.getMonth() +1);
return currentDate.getFullYear().toString()+currentMonth+currentDate.getDate().toString()+currentDate.getHours().toString()
+currentDate.getMinutes().toString()+currentDate.getSeconds().toString();
};

使用:

new Date("2016-07-14T10:52:36.000Z").customFormatt()

输出:

20160714162236

答案 2 :(得分:-1)

无需转换为日期或使用大型库。只需修改字符串:

let s = "2016-07-14T10:52:36.000Z"

console.log(s.replace(/\D/g,'').substr(0,14))