我的日期是这样的:
2016-05-12T09:49:01.547Z
2016-05-09T11:18:57.006Z
2016-05-12T09:49:01.547Z
我正在使用此功能:
function formatDate (date) {
const dateObj = new Date()
const y = dateObj.getFullYear()
const m = dateObj.getMonth(date) + 1
const d = dateObj.getDate(date)
return y + '/' + m + '/' + d
}
这样:
function buildingTemplate(building){ date:formatDate(building.updatedAt) isDirty:false } }
产生这个:
2016/5/12
2016/5/12
2016/5/12
但是你可以看到日期总是在今天,而不是我想要转换为该格式的日期。
为什么会这样?
答案 0 :(得分:1)
你完全忽略了传递的date
参数。将它放入Date
对象构造函数:
const dateObj = new Date(date);
如果您在没有任何参数的情况下创建new Date(date)
个对象,您将获得当前日期 - 这就是为什么您有三分之一2016/5/12
。
答案 1 :(得分:1)
您错误地使用了date
。您的功能应如下所示:
function formatDate (date) {
const dateObj = new Date(date)
const y = dateObj.getFullYear()
const m = dateObj.getMonth() + 1
const d = dateObj.getDate()
return y + '/' + m + '/' + d
}
另外,我想建议你http://momentjs.com/库,这是用于处理日期的标准库。它有很大的API和小的尺寸。
答案 2 :(得分:1)
将功能更改为
function formatDate(date) {
const dateObj = new Date(date);
const y = dateObj.getFullYear();
const m = dateObj.getMonth() + 1;
const d = dateObj.getDate();
return y + '/' + m + '/' + d;
}