JS实现时间格式化的方式汇总


Posted in Javascript onOctober 16, 2013
//扩展Date的format方法 
Date.prototype.format = function (format) {
    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(format)) {
        format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    }
    for (var k in o) {
        if (new RegExp("(" + k + ")").test(format)) {
            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
        }
    }
    return format;
}
/**  
*转换日期对象为日期字符串  
* @param date 日期对象  
* @param isFull 是否为完整的日期数据,  
*               为true时, 格式如"2000-03-05 01:05:04"  
*               为false时, 格式如 "2000-03-05"  
* @return 符合要求的日期字符串  
*/  
function getSmpFormatDate(date, isFull) {
    var pattern = "";
    if (isFull == true || isFull == undefined) {
        pattern = "yyyy-MM-dd hh:mm:ss";
    } else {
        pattern = "yyyy-MM-dd";
    }
    return getFormatDate(date, pattern);
}
/**  
*转换当前日期对象为日期字符串  
* @param date 日期对象  
* @param isFull 是否为完整的日期数据,  
*               为true时, 格式如"2000-03-05 01:05:04"  
*               为false时, 格式如 "2000-03-05"  
* @return 符合要求的日期字符串  
*/  
function getSmpFormatNowDate(isFull) {
    return getSmpFormatDate(new Date(), isFull);
}
/**  
*转换long值为日期字符串  
* @param l long值  
* @param isFull 是否为完整的日期数据,  
*               为true时, 格式如"2000-03-05 01:05:04"  
*               为false时, 格式如 "2000-03-05"  
* @return 符合要求的日期字符串  
*/  
function getSmpFormatDateByLong(l, isFull) {
    return getSmpFormatDate(new Date(l), isFull);
}
/**  
*转换long值为日期字符串  
* @param l long值  
* @param pattern 格式字符串,例如:yyyy-MM-dd hh:mm:ss  
* @return 符合要求的日期字符串  
*/  
function getFormatDateByLong(l, pattern) {
    return getFormatDate(new Date(l), pattern);
}
/**  
*转换日期对象为日期字符串  
* @param l long值  
* @param pattern 格式字符串,例如:yyyy-MM-dd hh:mm:ss  
* @return 符合要求的日期字符串  
*/  
function getFormatDate(date, pattern) {
    if (date == undefined) {
        date = new Date();
    }
    if (pattern == undefined) {
        pattern = "yyyy-MM-dd hh:mm:ss";
    }
    return date.format(pattern);
}
//alert(getSmpFormatDate(new Date(1279849429000), true));
//alert(getSmpFormatDate(new Date(1279849429000),false));    
//alert(getSmpFormatDateByLong(1279829423000, true));
//alert(getSmpFormatDateByLong(1279829423000,false));    
//alert(getFormatDateByLong(1279829423000, "yyyy-MM"));
//alert(getFormatDate(new Date(1279829423000), "yy-MM"));
//alert(getFormatDateByLong(1279849429000, "yyyy-MM hh:mm"));
Javascript 相关文章推荐
基于jquery的滚动新闻列表
Jun 19 Javascript
JavaScript中函数声明优先于变量声明的实例分析
Mar 01 Javascript
使用js在页面中绘制表格核心代码
Sep 16 Javascript
jquery html动态生成select标签出问题的解决方法
Nov 20 Javascript
Bootstrap项目实战之子栏目资讯内容
Apr 25 Javascript
使用jQuery操作DOM的方法小结
Feb 27 Javascript
Bootstrap如何激活导航状态
Mar 22 Javascript
解决VUEX兼容IE上的报错问题
Mar 01 Javascript
关于vue的npm run dev和npm run build的区别介绍
Jan 14 Javascript
解决layer弹出层中表单不起作用的问题
Sep 09 Javascript
vue实现路由不变的情况下,刷新页面操作示例
Feb 02 Javascript
使用这 6个Vue加载动画库来减少我们网站的跳出率
May 18 Vue.js
利用CSS、JavaScript及Ajax实现高效的图片预加载
Oct 16 #Javascript
div模拟滚动条效果示例代码
Oct 16 #Javascript
Jquery实现的tab效果可以指定默认显示第几页
Oct 16 #Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
Oct 16 #Javascript
限制textbox或textarea输入字符长度的JS代码
Oct 16 #Javascript
父元素与子iframe相互获取变量和元素对象的具体实现
Oct 15 #Javascript
纯Javascript实现Windows 8 Metro风格实现
Oct 15 #Javascript
You might like
PHP格式化MYSQL返回float类型的方法
2016/03/30 PHP
php array_map使用自定义的函数处理数组中的每个值
2016/10/26 PHP
form自动提交实例讲解
2017/07/10 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
formValidator3.3的ajaxValidator一些异常分析
2011/07/12 Javascript
jQuery on方法传递参数示例
2014/12/09 Javascript
DOM基础教程之事件对象
2015/01/20 Javascript
jquery实现兼容IE8的异步上传文件
2015/06/15 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
javascript创建对象、对象继承的实用方式详解
2016/03/08 Javascript
jQuery滑动到底部加载下一页数据的实例代码
2017/05/22 jQuery
bootstrap中日历范围选择插件daterangepicker的使用详解
2018/04/17 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
2019/01/08 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
微信小程序文章列表功能完整实例
2020/06/03 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
python下载文件时显示下载进度的方法
2015/04/02 Python
Python中字符串格式化str.format的详细介绍
2017/02/17 Python
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
python机器学习实战之最近邻kNN分类器
2017/12/20 Python
django foreignkey外键使用的例子 相当于left join
2019/08/06 Python
python super用法及原理详解
2020/01/20 Python
Python之字典添加元素的几种方法
2020/09/30 Python
15个Pythonic的代码示例(值得收藏)
2020/10/29 Python
英国领先的在线礼品店:Getting Personal
2019/09/24 全球购物
.net开发工程师面试题
2014/02/25 面试题
CSMA/CD介质访问控制协议
2015/11/17 面试题
信息管理专业推荐信
2013/10/29 职场文书
如何写好升职自荐信
2014/01/06 职场文书
暑期培训随笔感言
2014/03/10 职场文书
六年级语文下册教学计划
2015/01/22 职场文书
综治目标管理责任书
2015/05/11 职场文书
推广普通话的宣传语
2015/07/13 职场文书
Python中相见恨晚的技巧
2021/04/13 Python
浅谈JS的二进制家族
2021/05/09 Javascript
Oracle 多表查询基本语法实例
2022/04/18 Oracle