日期时间格式转换

这两个日期格式转换 怎么转比较好?

2019-06-18T01:00:00
转换成
18/06 01:00

2019-05-30T17:02:51.133371
转换成
30/05 2019 17:02:51

阅读 264
评论 2019-06-12 提问
    4 个回答
    var d = new Date('2019-06-18T01:00:00')
    
    s = d.getDate()+'/'+(d.getMonth()+1).toString().padStart(2,'0')+' '+d.getHours().toString().padStart(2,'0')+':'+d.getMinutes().toString().padStart(2,'0')

    另一个雷同

    评论 赞赏
      function fmt(date){
           let  dateStr=date.toString()
           let  month = dateStr.subString(5,6)
           let  day ...
           let  hour ...
           let ...
           return day + '/' +month + hour +minute
      }

      第一种如上,第二种类似,手机写的不太方便,方式也不算优雅,建议多了解下date相关的函数

      评论 赞赏

        可以参考吾辈的 dateFormat 的实现

        https://github.com/rxliuli/rx...

        编译后的 js 代码

        /**
         * 为 js 中的 Date 对象原型添加 format 格式化方法
         * @param date 要进行格式化的日期
         * @param fmt 日期的格式
         * @returns 格式化得到的结果
          */
        function dateFormat(date, fmt) {
            const o = {
                'y+': date.getFullYear(),
                'M+': date.getMonth() + 1,
                'd+': date.getDate(),
                'h+': date.getHours(),
                'm+': date.getMinutes(),
                's+': date.getSeconds(),
                'q+': Math.floor((date.getMonth() + 3) / 3),
                'S+': date.getMilliseconds(),
            };
            for (const k in o) {
                if (!new RegExp('(' + k + ')').test(fmt)) {
                    continue;
                }
                if (k === 'y+') {
                    fmt = fmt.replace(RegExp.$1, ('' + o[k]).substr(4 - RegExp.$1.length));
                }
                else if (k === 'S+') {
                    let lens = RegExp.$1.length;
                    lens = lens === 1 ? 3 : lens;
                    fmt = fmt.replace(RegExp.$1, ('00' + o[k]).substr(('' + o[k]).length - 1, lens));
                }
                else {
                    const v = Reflect.get(o, k);
                    fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? v : ('00' + v).substr(('' + v).length));
                }
            }
            return fmt;
        }
        评论 赞赏
          luozz
          • 5.6k

          moment,想怎么转就怎么转


          let date1 = "2019-06-18T01:00:00";
          let date2 = "2019-05-30T17:02:51.133371";
          console.log(moment(date1).format("DD/MM HH:mm"));
          console.log(moment(date2).format("DD/MM YYYY HH:mm:ss"));
          控制台输出
          clipboard.png
          评论 赞赏
            撰写回答

            登录后参与交流、获取后续更新提醒