繁体   English   中英

有没有更简单的方法来编写此方法?

[英]Is there an easier way to write this method?

大家好,阅读本文。

我有一种方法可以获取当前时间和今天的日期。 如果数据库中的截止日期值为null,它将获取当前日期时间并将其格式化为正确的格式。 否则它将格式化截止日期。

但是我想知道是否有更简单的方法来做到这一点?

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;
  }

正如@Andrew所说,您已经在使用力矩

因此,此版本将完全执行当前功能

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');
  }

如果您使用的是momentjs ,则只需将Date对象传递给moment函数。 如果该函数未接收任何参数,则它将默认为当前时间(与new Date()相同)。

formatDateTime(deadline) {
    return moment(deadline).format('YYYY-MM-DDTHH:mm');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM