首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >javascript Date format(js日期格式化)

javascript Date format(js日期格式化)

作者头像
空空云
发布于 2018-09-27 03:57:16
发布于 2018-09-27 03:57:16
8.3K00
代码可运行
举报
文章被收录于专栏:大前端_Web大前端_Web
运行总次数:0
代码可运行

方法一:这个很不错,好像是 csdn 的 Meizz 写的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 对Date的扩展,将 Date 转化为指定格式的String   
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,   
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)   
// 例子:   
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423   
// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18   
Date.prototype.Format = function(fmt)   
{ //author: meizz   
  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()+"").substring(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]).substring((""+ o[k]).length)));   
  return fmt;   
}  

调用方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var time1 = new Date().Format("yyyy-MM-dd HH:mm:ss");     
var time2 = new Date().Format("yyyy-MM-dd"); 

方法二:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 * 对Date的扩展,将 Date 转化为指定格式的String       
 * (M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符       
 * (y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(1-3 位的数字)       
 * eg:       
 * (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423       
 * (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-1020:09:04       
 * (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04       
 * (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04       
 * (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18       
 */          
Date.prototype.pattern=function(fmt) {           
    var o = {           
    "M+" : this.getMonth()+1, //月份           
    "d+" : this.getDate(), //日           
    "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时           
    "H+" : this.getHours(), //小时           
    "m+" : this.getMinutes(), //分           
    "s+" : this.getSeconds(), //秒           
    "q+" : Math.floor((this.getMonth()+3)/3), //季度           
    "S" : this.getMilliseconds() //毫秒           
    };           
    var week = {           
    "0" : "/u65e5",           
    "1" : "/u4e00",           
    "2" : "/u4e8c",           
    "3" : "/u4e09",           
    "4" : "/u56db",           
    "5" : "/u4e94",           
    "6" : "/u516d"          
    };           
    if(/(y+)/.test(fmt)){           
        fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));           
    }           
    if(/(E+)/.test(fmt)){           
        fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]);           
    }           
    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 date = new Date();        
window.alert(date.pattern("yyyy-MM-dd hh:mm:ss"));  

方法三:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Date.prototype.format = function(mask) {        
    var d = this;         
    var zeroize = function (value, length) {        

        if (!length) length = 2;        

        value = String(value);        

        for (var i = 0, zeros = ''; i < (length - value.length); i++) {        

            zeros += '0';        

        }        

        return zeros + value;        

    };          

    return mask.replace(/"[^"]*"|'[^']*'|/b(?:d{1,4}|m{1,4}|yy(?:yy)?|([hHMstT])/1?|[lLZ])/b/g, function($0) {        

        switch($0) {        

            case 'd':   return d.getDate();        

            case 'dd':  return zeroize(d.getDate());        

            case 'ddd': return ['Sun','Mon','Tue','Wed','Thr','Fri','Sat'][d.getDay()];        

            case 'dddd':    return ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'][d.getDay()];        

            case 'M':   return d.getMonth() + 1;        

            case 'MM':  return zeroize(d.getMonth() + 1);        

            case 'MMM': return ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'][d.getMonth()];        

            case 'MMMM':    return ['January','February','March','April','May','June','July','August','September','October','November','December'][d.getMonth()];        

            case 'yy':  return String(d.getFullYear()).substr(2);        

            case 'yyyy':    return d.getFullYear();        

            case 'h':   return d.getHours() % 12 || 12;        

            case 'hh':  return zeroize(d.getHours() % 12 || 12);        

            case 'H':   return d.getHours();        

            case 'HH':  return zeroize(d.getHours());        

            case 'm':   return d.getMinutes();        

            case 'mm':  return zeroize(d.getMinutes());        

            case 's':   return d.getSeconds();        

            case 'ss':  return zeroize(d.getSeconds());        

            case 'l':   return zeroize(d.getMilliseconds(), 3);        

            case 'L':   var m = d.getMilliseconds();        

                    if (m > 99) m = Math.round(m / 10);        

                    return zeroize(m);        

            case 'tt':  return d.getHours() < 12 ? 'am' : 'pm';        

            case 'TT':  return d.getHours() < 12 ? 'AM' : 'PM';        

            case 'Z':   return d.toUTCString().match(/[A-Z]+$/);        

            // Return quoted strings with the surrounding quotes removed        

            default:    return $0.substr(1, $0.length - 2);        

        }        

    });        

};      
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年04月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Date.prototype.format
Date.prototype.format = function(format){
李才哥
2019/07/23
9890
Date.prototype.format
20180922_ARTS_week13
这个题比较简单,用循环硬做也可以,这里做了一个小小的优化,先排序了一下,如果不排序的话,遇到 ["aaa","aa","aaa"] 这种形式就会出错。
Bob.Chen
2018/09/27
3800
Mqtt.js 的WSS链接
不过目前感觉用MQTT.JS来联不是太安全,因为用户名和密码都外露还没加密,一个打开就知道了,但是胜在简单。不过真是环境下就想办法加密~还有这个JavaScript还可以用在微信小程序中,不过目前就不深究了,如果再配合小程序云开,那真是不得了。。。好吧暂时就这样吧
谭广健
2020/07/02
5.2K0
手把手教你封装一个日期格式化的工具函数
最近还是在做那个练习的小项目,做完接收数据并渲染到页面上的时候,发现后端小伙伴又在给我找活干了欸,单纯的渲染这当然是小kiss啦,可这个字段是个什么东西?
是乃德也是Ned
2022/12/17
3650
手把手教你封装一个日期格式化的工具函数
Javascript日期时间总结(转)
从后台返回的C#时间为:/Date(-62135596800000)/,这个是C#的DateTime.MinValue; 要在html页面展示,一个方法是后端先处理成yyyy-MM-dd HH:mm:ss的格式,前端直接展示。 如果后端不做处理,就需要前端来做处理了,下面就是看前端处理的这种情况。
山河木马
2019/03/05
5.2K0
Javascript日期时间总结(转)
自定义一个 Date 处理函数
package com.ht.core.web; import java.text.SimpleDateFormat; import java.util.Date; /** * * @author: SHF * @date: 2017年11月21日 上午10:38:01 * @Description: 返回一个时间戳 * 自定一个日期处理类 * return: 返回当前日期加时间的STRING 格式:20170101202334 */ public class DateTimeT
用户5927264
2019/07/31
5930
js获取当前时间的年月日时分秒以及时间的格式化
1.获取当前时间 var myDate = new Date(); 2.获取时间中的年月日时分秒 myDate.getYear(); // 获取当前年份(2位) myDate.getF
青梅煮码
2023/03/13
3.9K0
Js Date日期格式和字符串的相互转化「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137130.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/05
2.1K0
将 Date对象 转化为指定格式详解 —— 关于Date对象那些事(番外)
获取当前日期时间,我们知道通过方法 new Date() 就可以得到,但是获取到是一个标准格式时间 Fri Jan 18 2019 13:56:47 GMT+0800 (中国标准时间)。但通常我们更渴望得到 2019-01-18 13:56:47 或者 2019/01/18 13:56:47 这种格式。
celineWong7
2020/11/05
2.7K0
My97Date控件设置默认时间
需求:设置开始时间和结束时间初始化时间隔为一周 <input id="startTime" name="startTime" type="text" style="width: 45%" class="Wdate" onClick="WdatePicker({maxDate: $('#endTime').val(),dateFmt:'yyyy-MM-dd' })" ignore="ignore"/> <input id="endTime" name="endTime" type="text" style=
崔笑颜
2020/06/08
1.3K0
jquery获取当前日期并且格式化
1.制定Format规则 //时间格式化问题 Date.prototype.Format = function (fmt) { var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "H+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+":
用户1220053
2019/05/26
4K0
EasyUI 时间格式化「建议收藏」
var unixTimestamp = new Date(value);
全栈程序员站长
2022/08/26
6760
常用的工具函数 (不定时更新)
日期转换 /** * @param date 日期 * @param fmt 需要格式化的形式 * @returns {*} * 将 Date 转化为指定格式的String * 月(M)、日(d)、小时(h)、分(m)、秒(s) 可以用 1-2 个占位符 * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) * eg: * DateFormat(new Date(), "yyyy-MM-dd HH:mm:ss.S") ==> 2006
yangdongnan
2020/01/14
5580
关于Date对象那些事
获取当前日期时间,我们知道通过方法 new Date() 就可以得到,但是获取到是一个标准格式时间 Fri Jan 18 2019 13:56:47 GMT+0800 (中国标准时间)。但通常我们更渴望得到 2019-01-18 13:56:47 或者 2019/01/18 13:56:47 这种格式。
celineWong7
2020/11/05
9080
vue时间日期格式化
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142754.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/31
1K0
JavaScript 获取 2 天之后的日期代码实例
/** *对Date的扩展,将 Date 转化为指定格式的String *月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, *年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) *例子: *(new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 *(new Date()).Format("yyyy-M-d h:m:s.S")
一个会写诗的程序员
2018/09/12
8450
jeDate日期控件在项目中实际应用
需求: 1:可提供日期不超过当前日期或者(验证选中日期是否超过今天) 2:日期验证 3:input表格里面获取当前系统默认日期 4:选着日期点击选中后点确定按钮才关闭 5:验证结束日期大于开始日期
王小婷
2019/09/20
7130
nodejs时间工具类
/** * * @fmt 格式化字符串 * @Date 为需要格式化的日期 * * 示例:format(new Date(),'yyyy-MM-dd hh:mm:ss'); * 返回值为字
用户1141560
2017/12/26
1.8K0
封装格式化日期工具函数
后端服务器数据一般会返回时间戳,我们可以封装一个工具函数用来将时间戳转化为要展示的时间 utils.js /** * Parse the time to string * @param {(Object|string|number)} time * @param {string} cFormat * @returns {string} */ function parseTime(time, cFormat) { if (arguments.length === 0) { return
peng_tianyu
2022/12/15
7580
ASP.MVC时间类型json数据处理
      服务端返回DateTime属性如果用自带的json方法返回的数据如下: 有2种办法解决一种是采用服务端解决方案,一种是使用前端解决方案 1.前端解决方案 第一步:对Date进行扩展 /
用户1055830
2018/01/18
1.9K0
ASP.MVC时间类型json数据处理
相关推荐
Date.prototype.format
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验