javascript强大的日期函数代码分享


Posted in Javascript onSeptember 04, 2013
var date = function( a, s ) {
    var d = s ? new Date( s ) : new Date(), f = d.getTime();
    return ( '' + a ).replace( /a|A|d|D|F|g|G|h|H|i|I|j|l|L|m|M|n|s|S|t|T|U|w|y|Y|z|Z/g, function ( a ) {
        switch ( a ) {
                case 'a' : return d.getHours() > 11 ? 'pm' : 'am';
                case 'A' : return d.getHours() > 11 ? 'PM' : 'AM';
                case 'd' : return ( '0' + d.getDate() ).slice(-2);
                case 'D' : return [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ][ d.getDay() ];
                case 'F' : return [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ][ d.getMonth() ];
                case 'g' : return ( s = ( d.getHours() || 12 ) ) > 12 ? s - 12 : s;
                case 'G' : return d.getHours();
                case 'h' : return ( '0' + ( ( s = d.getHours() || 12 ) > 12 ? s - 12 : s ) ).slice(-2);
                case 'H' : return ( '0' + d.getHours() ).slice(-2);
                case 'i' : return ( '0' + d.getMinutes() ).slice(-2);
                case 'I' : return (function(){ d.setDate(1); d.setMonth(0); s = [ d.getTimezoneOffset() ]; d.setMonth(6); s[1] = d.getTimezoneOffset(); d.setTime( f ); return s[0] == s[1] ? 0 : 1; })();
                case 'j' : return d.getDate();
                case 'l' : return [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ][ d.getDay() ];
                case 'L' : return ( s = d.getFullYear() ) % 4 == 0 && ( s % 100 != 0 || s % 400 == 0 ) ? 1 : 0;
                case 'm' : return ( '0' + ( d.getMonth() + 1 ) ).slice(-2);
                case 'M' : return [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ][ d.getMonth() ];
                case 'n' : return d.getMonth() + 1;
                case 's' : return ( '0' + d.getSeconds() ).slice(-2);
                case 'S' : return [ 'th', 'st', 'nd', 'rd' ][ ( s = d.getDate() ) < 4 ? s : 0 ];
                case 't' : return (function(){ d.setDate(32); s = 32 - d.getDate(); d.setTime( f ); return s; })();
                case 'T' : return 'UTC';
                case 'U' : return ( '' + f ).slice( 0, -3 );
                case 'w' : return d.getDay();
                case 'y' : return ( '' + d.getFullYear() ).slice(-2);
                case 'Y' : return d.getFullYear();
                case 'z' : return (function(){ d.setMonth(0); return d.setTime( f - d.setDate(1) ) / 86400000; })();
                default : return -d.getTimezoneOffset() * 60;
            };
    } );
};
Javascript 相关文章推荐
详解jquery uploadify 上传文件
Nov 09 Javascript
javascript中怎么做对象的类型判断
Nov 11 Javascript
JavaScript保留关键字汇总
Dec 01 Javascript
Vue.js第四天学习笔记(组件)
Dec 02 Javascript
浅谈javascript的url参数parse和build函数
Mar 04 Javascript
原生js实现选项卡功能
Mar 08 Javascript
JavaScript中的return布尔值的用法和原理解析
Aug 14 Javascript
Vue2.0权限树组件实现代码
Aug 29 Javascript
详谈js的变量提升以及使用方法
Oct 06 Javascript
ionic使用angularjs表单验证(模板验证)
Dec 12 Javascript
微信小程序实现转盘抽奖
Sep 21 Javascript
关于Vue中的options选项
Mar 22 Vue.js
CSS鼠标响应事件经过、移动、点击示例介绍
Sep 04 #Javascript
原生javascript图片自动或手动切换示例附演示源码
Sep 04 #Javascript
javascript 获取图片尺寸及放大图片
Sep 04 #Javascript
jQuery遍历Form示例代码
Sep 03 #Javascript
JS将秒换成时分秒实现代码
Sep 03 #Javascript
js导出table到excel同时兼容FF和IE示例
Sep 03 #Javascript
js综合应用实例简单的表格统计
Sep 03 #Javascript
You might like
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
javascript中AJAX用法实例分析
2015/01/30 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
2015/03/21 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
详解JavaScript的策略模式编程
2015/06/24 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
2015/09/15 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
js中创建对象的几种方式
2017/02/05 Javascript
vue.js 1.x与2.0中js实时监听input值的变化
2017/03/15 Javascript
ES6新特性之数组、Math和扩展操作符用法示例
2017/04/01 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
2017/12/20 Javascript
一文了解vue-router之hash模式和history模式
2019/05/31 Javascript
Vue 实现从小到大的横向滑动效果详解
2019/10/16 Javascript
JavaScript实现移动端拖动元素
2020/11/24 Javascript
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
Django中模型Model添加JSON类型字段的方法
2015/06/17 Python
Win8下python3.5.1安装教程
2020/07/29 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
使用python写的opencv实时监测和解析二维码和条形码
2019/08/14 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
入党申请书自我鉴定
2013/10/12 职场文书
财务经理岗位职责
2013/11/09 职场文书
师说教学反思
2014/02/07 职场文书
创业大赛策划书
2014/03/01 职场文书
经贸专业毕业生求职信范文
2014/05/01 职场文书
报效祖国演讲稿
2014/09/15 职场文书
2016父亲节感恩话语
2015/12/09 职场文书
党风廉政建设心得体会(2016最新版)
2016/01/22 职场文书
《从现在开始》教学反思
2016/02/16 职场文书
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers