JS Date时间格式化的方法

 更新时间:2024年01月20日 10:50:34   作者:请叫我彦祖  
这篇文章主要介绍了JS Date时间格式化的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

JS Date时间格式化

1.1日期的格式化

1.1.1方法一(格式,日期))

// 入参 fmt-格式 date-日期
function dateFormat(fmt, date) {
    let ret;
    const opt = {
        "Y+": date.getFullYear().toString(),        // 年
        "m+": (date.getMonth() + 1).toString(),     // 月
        "d+": date.getDate().toString(),            // 日
        "H+": date.getHours().toString(),           // 时
        "M+": date.getMinutes().toString(),         // 分
        "S+": date.getSeconds().toString()          // 秒
        // 有其他格式化字符需求可以继续添加,必须转化成字符串
    };
    for (let k in opt) {
        ret = new RegExp("(" + k + ")").exec(fmt);
        if (ret) {
            fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
        };
    };
    return fmt;
}

举个例子:

let date = new Date()
dateFormat("YYYY-mm-dd HH:MM:SS", date)
console.log(dateFormat("YYYY-mm-dd HH:MM", date));
输出: 2019-06-06 19:45:35

1.1.2方法二(当前日期)

// 入参 fmt-格式
Date.prototype.format = function(fmt){
  var o = {
    "M+" : this.getMonth()+1,                 //月份
    "d+" : this.getDate(),                    //日
    "h+" : this.getHours(),                   //小时
    "m+" : this.getMinutes(),                 //分
    "s+" : this.getSeconds(),                 //秒
    "q+" : Math.floor((this.getMonth()+3)/3), //季度
    "S"  : this.getMilliseconds()             //毫秒
  };
  if(/(y+)/.test(fmt)){
    fmt=fmt.replace(RegExp.$1, (this.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;
}

举个例子:

var now = new Date();
var nowStr = now.format("yyyy-MM-dd hh:mm:ss");
//2021-06-03 19:17:35
console.log(nowStr);
//2021年06月03日
console.log(new Date().format("yyyy年MM月dd日")); 
var nowStr = now.format("yyyy-MM-dd hh:mm:ss"); 
//2021-06-03 19:17:35
console.log(nowStr);//
//2021年06月03日19小时17分35秒
console.log(new Date().format("yyyy年MM月dd日hh小时mm分ss秒"));
//输出:
2021-06-03 19:17:35
2021年06月03日
2021-06-03 19:17:35
2021年06月03日19小时17分35秒

推荐时间插件库:moment.js 

Js Date日期格式和字符串的相互转化

// 日期格式化
	 Date.prototype.format = function(fmt) { 
		var o = { 
			"M+" : this.getMonth()+1,                 //月份 
			"d+" : this.getDate(),                    //日 
			"h+" : this.getHours(),                   //小时 
			"m+" : this.getMinutes(),                 //分 
			"s+" : this.getSeconds(),                 //秒 
			"q+" : Math.floor((this.getMonth()+3)/3), //季度 
			"S"  : this.getMilliseconds()             //毫秒 
		}; 
		if(/(y+)/.test(fmt)) {
				fmt=fmt.replace(RegExp.$1, (this.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; 
	}
let time = new Date().format("yyyy-MM-dd hh:mm:ss");

到此这篇关于JS Date时间格式化的文章就介绍到这了,更多相关JS Date时间格式化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题

    解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题

    今天小编就为大家分享一篇解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • javascript中一些数组常用的API总结

    javascript中一些数组常用的API总结

    Js中数组是一个重要的数据结构,它相比于字符串有更多的方法,本篇文章总结了一些数组中常用的API,我们把它们分成两类,一类是会改变原始数组,一类是不会改变原始数组,感兴趣的小伙伴可以学习一下
    2023-09-09
  • 避免在前端项目中出现重复的第三方依赖包的检测方法

    避免在前端项目中出现重复的第三方依赖包的检测方法

    在现代前端开发中,重复的第三方依赖包(Duplicate Dependencies)是导致项目体积膨胀、加载速度变慢、构建时间延长的常见问题,尤其在使用模块打包工具时,所以本文给大家介绍了避免在前端项目中出现重复的第三方依赖包的检测方法,需要的朋友可以参考下
    2025-06-06
  • 原生微信小程序/uniapp使用空格占位符无效的解决办法

    原生微信小程序/uniapp使用空格占位符无效的解决办法

    最近需要在字体中间加空白占位符,在尝试使用 之后,还是不能使用,下面这篇文章主要给大家介绍了关于原生微信小程序/uniapp使用空格占位符无效的解决办法,需要的朋友可以参考下
    2023-02-02
  • 微信小程序地图绘制线段并且测量(实例代码)

    微信小程序地图绘制线段并且测量(实例代码)

    这篇文章主要介绍了微信小程序地图绘制线段并且测量,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • JS实现拖动滚动条评分的效果代码分享

    JS实现拖动滚动条评分的效果代码分享

    本文给大家基于js实现拖动滚动条评分效果,在项目开发中经常可以用到的,大家可以更加需要适当的添加修改,对js评分效果感兴趣的朋友一起看看吧
    2016-09-09
  • JS实现多物体运动

    JS实现多物体运动

    这篇文章主要为大家详细介绍了JS实现多物体运动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • JS快速实现移动端拼图游戏

    JS快速实现移动端拼图游戏

    最近开发一个有关手机端拼图游戏,是基于js实现的。今天小编抽时间把具体实现代码分享到脚本之家平台供大家参考,对js移动端拼图游戏感兴趣的朋友参考下吧
    2016-09-09
  • 解决使用layui的时候form表单中的select等不能渲染的问题

    解决使用layui的时候form表单中的select等不能渲染的问题

    今天小编就为大家分享一篇解决使用layui的时候form表单中的select等不能渲染的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • JavaScript文档碎片操作实例分析

    JavaScript文档碎片操作实例分析

    这篇文章主要介绍了JavaScript文档碎片操作技巧,结合实例形式分析了JavaScript中使用文档碎片优化dom操作的技巧,需要的朋友可以参考下
    2015-12-12

最新评论