有没有更简单的方法来编写这个方法?
Is there an easier way to write this method?
大家好阅读本文。
我有一种方法可以用当前时间获取今天的日期。
如果数据库中的截止日期值为空,它将获取当前日期时间并将其格式化为正确的格式。否则它只会格式化截止日期。
但我想知道是否有更简单的方法来做到这一点?
formatDateTime(deadline){
var DateTime;
if(deadline == null){
var myDate = new Date();
var month = ('0' + (myDate.getMonth() + 1)).slice(-2);
var date = ('0' + myDate.getDate()).slice(-2);
var year = myDate.getFullYear();
var hour = ('0' + myDate.getHours()).slice(-2);
var minute = ('0' + myDate.getMinutes()).slice(-2);
var formattedDate = year + '-' + month + '-' + date + 'T' + hour + ':' + minute;
DateTime = moment(formattedDate, 'YYYY-MM-DD HH:mm').format('YYYY-MM-DDTHH:mm');
} else {
DateTime = moment(deadline, 'YYYY-MM-DD HH:mm').format('YYYY-MM-DDTHH:mm');
};
return DateTime;
}
如果您正在使用 momentjs,您只需将 Date 对象传递给 moment
函数即可。如果函数没有接收到参数,它将默认为当前时间(与 new Date()
相同)。
formatDateTime(deadline) {
return moment(deadline).format('YYYY-MM-DDTHH:mm');
}
正如@Andrew 所说,您已经在使用 moment
所以这个版本将完全按照您当前的功能执行
function formatDateTime(deadline){
if(deadline == null){
deadline = moment().format('YYYY-MM-DD HH:mm');
}
return moment(deadline, 'YYYY-MM-DD HH:mm').format('YYYY-MM-DDTHH:mm');
}
大家好阅读本文。
我有一种方法可以用当前时间获取今天的日期。 如果数据库中的截止日期值为空,它将获取当前日期时间并将其格式化为正确的格式。否则它只会格式化截止日期。
但我想知道是否有更简单的方法来做到这一点?
formatDateTime(deadline){
var DateTime;
if(deadline == null){
var myDate = new Date();
var month = ('0' + (myDate.getMonth() + 1)).slice(-2);
var date = ('0' + myDate.getDate()).slice(-2);
var year = myDate.getFullYear();
var hour = ('0' + myDate.getHours()).slice(-2);
var minute = ('0' + myDate.getMinutes()).slice(-2);
var formattedDate = year + '-' + month + '-' + date + 'T' + hour + ':' + minute;
DateTime = moment(formattedDate, 'YYYY-MM-DD HH:mm').format('YYYY-MM-DDTHH:mm');
} else {
DateTime = moment(deadline, 'YYYY-MM-DD HH:mm').format('YYYY-MM-DDTHH:mm');
};
return DateTime;
}
如果您正在使用 momentjs,您只需将 Date 对象传递给 moment
函数即可。如果函数没有接收到参数,它将默认为当前时间(与 new Date()
相同)。
formatDateTime(deadline) {
return moment(deadline).format('YYYY-MM-DDTHH:mm');
}
正如@Andrew 所说,您已经在使用 moment
所以这个版本将完全按照您当前的功能执行
function formatDateTime(deadline){
if(deadline == null){
deadline = moment().format('YYYY-MM-DD HH:mm');
}
return moment(deadline, 'YYYY-MM-DD HH:mm').format('YYYY-MM-DDTHH:mm');
}