日期格式问题new Date()

想问下大家,获取当前日期,格式为2020-5-27 8:36。只能通过获取年、获取月、获取日、获取时、获取分,最后拼接吗?element-ui里有一个date组件可以通过format转换为想要的格式。js中有这样的方法吗?

原生只能拼接

new Date().toLocaleString('chinese',{hour12:false,year: 'numeric', month: 'numeric', day: 'numeric',
  hour: 'numeric', minute: 'numeric'})
toLocaleString函数:里面可以传两个参数,第一个参数代表是时区,第二个参数是一个options对象,里面可以对要格式化的各种要求,上面的option可以满足你的要求了,
资源下载具体可以查一下toLocaleString这个方法。

要实现格式化,得自己去写格式化函数,不过网上搜一下有很多,js本身未实现类似formate的函数。

在js原生中要进行日期格式转化得手写,通常做日期格式的转换是引入moment.js这个基本做到了所有关于日期时间的操作,不论是格式转换还是增加减少

原生js的看看Intl.DateTimeFormat对象
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat

 function time() {

      var time_ = $.session.get("work_token");

      //   底部时间

      var time = new Date();

      var day = time.getDay(); //获取存储当前日期

      var weekday = ["周天""周一""周二""周三""周四""周五""周六"];

      var nowDay = weekday[day];

      var year = time.getFullYear();

      var mouth = time.getMonth() + 1;

      var ri = time.getDate();

      var hour = time.getHours();

      var min = time.getMinutes();

      var sec = time.getSeconds();

      hour = String(hour);

      min = String(min);

      sec = String(sec);

      if (min.length == 1) {

        var a = `0${String(min)}`;

        min = a;

      }

      if (hour.length == 1) {

        var a = `0${String(hour)}`;

        hour = a;

      }

      if (sec.length == 1) {

        var a = `0${String(sec)}`;

        sec = a;

      }

      var time_value = `当前时间是${year}/${mouth}/${ri} ${hour}:${min}:${sec} 今天的星期为${nowDay}`;

return time_value

    },

原生js只可以使用拼接方法

感谢大家的回复

你可能感兴趣的:(日期格式问题new Date())