js 时间戳转换为‘yyyy-MM-dd hh:mm’格式(es6语法)

摘要:
函数formatDate{if{fmt=fmt.replace;}leto={'M+':date.getMonth()+1,'d+':date.getDate(),'h+':date.getHours(),M+':日期.getMinutes(),'s+':day.getSeconds()};//遍历此对象以获取{if{//console.logconsole.logletstr=o[k]+'';fmt=fmt.replace(RegExp.$1,(RegExp.1.length==1)?
function formatDate(date,fmt) {
  if(/(y+)/.test(fmt)){
    fmt = fmt.replace(RegExp.$1,(date.getFullYear()+'').substr(4-RegExp.$1.length));
  }
  let o = {
    'M+':date.getMonth() + 1,
    'd+':date.getDate(),
    'h+':date.getHours(),
    'm+':date.getMinutes(),
    's+':date.getSeconds()
  };

  // 遍历这个对象
  for(let k in o){
    if(new RegExp(`(${k})`).test(fmt)){
      // console.log(`${k}`)
      console.log(RegExp.$1)
      let str = o[k] + '';
      fmt = fmt.replace(RegExp.$1,(RegExp.$1.length===1)?str:padLeftZero(str));
    }
  }
  return fmt;
};

function padLeftZero(str) {
  return ('00'+str).substr(str.length);
}

let TimeNow = 1514374627*1000
let newTime = new Date(TimeNow)

formatDate(newTime,'yyyy-MM-dd hh:mm')   //2017-12-27 19:37

function formatDate(date, fmt = 'yyyy-MM-dd') {
    if (typeof (date) === 'number') {
        date = new Date(date)
    }
    var o = {
        "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() //毫秒
    }
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length))
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt))
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)))
    return fmt
}

免责声明:文章转载自《js 时间戳转换为‘yyyy-MM-dd hh:mm’格式(es6语法)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ORA-609 : opiodr aborting process unknown ospidopencvaddWeighted加法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

详解 JS 中 new 调用函数原理

JavaScript 中经常使用构造函数创建对象(通过 new 操作符调用一个函数),那在使用 new 调用一个函数的时候到底发生了什么?先看几个例子,再解释背后发生了什么。 1)看三个例子 1.1 无 return 语句 构造函数最后没有 return 语句,这也是使用构造函数时默认情况,最后会返回一个新对象,如下: function Foo(age)...

微信小程序,时间戳和日期格式互相转化

微信小程序,时间戳转为日期格式  通常后台传递过来的都是时间戳,但是前台展示不能展示时间戳。就需要转化了。 功能说明: 微信小程序里,时间戳转化为日期格式,支持自定义、 拷贝至项目utils/utils.js中,并注意在js中声明下; module.exports = { formatTime: formatTime, // 日期转时间戳...

kindeditor在线编辑器的使用心得

1、如何声明引用? <!DOCTYPEhtml> <html> <head> <metacharset="utf-8"/> <title>kindeditor在线编辑器的使用心得</title> <!--添加kindeditor的引用--> <scr...

js异步处理

js处理异步的几种方式 Javascript语言的执行环境是"单线程"(single thread,就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推)。 这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应(...

js Jquery字符UrlEncode 编码 C#(asp.net)解码 Server HttpUtility 区别 cookies存中文

一、Js asp.net 交互Url编码解码 C#(asp.net)编码:HttpUtility.UrlEncode(url) Jquery解码:decodeURIComponent(url); Jquery编码:encodeURIComponent(url); C#(asp.net)解码:HttpUtility.UrlDecode 二、asp.net(S...

mysql如何设置两个默认时间列

timestamp设置默认值是Default CURRENT_TIMESTAMP timestamp设置随着表变化而自动更新是ON UPDATE CURRENT_TIMESTAMP 但是由于 一个表中至多只能有一个字段设置CURRENT_TIMESTAMP 两行设置DEFAULT CURRENT_TIMESTAMP是不行的。 还有一点要注意 1 2 3...