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的direction图片渐变动画效果
May 24 Javascript
使用delegate方法为一个tr标签加一个链接
Jun 27 Javascript
Jquery对select的增、删、改、查操作
Feb 06 Javascript
jQuery对JSON数据进行排序输出的方法
Jun 24 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
Feb 03 Javascript
多功能jQuery树插件zTree实现权限列表简单实例
Jul 12 Javascript
jquery实现图片列表鼠标移入微动
Dec 01 Javascript
JS实现全屏的四种写法
Dec 30 Javascript
JavaScript中常见的八个陷阱总结
Jun 28 Javascript
浅谈Node.js之异步流控制
Oct 25 Javascript
javascript操作向表格中动态加载数据
Aug 27 Javascript
前端如何实现动画过渡效果
Feb 05 Javascript
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
社区(php&amp;&amp;mysql)六
2006/10/09 PHP
PHP文件操作方法汇总
2015/07/01 PHP
学习YUI.Ext 第七天--关于View&amp;JSONView
2007/03/10 Javascript
innerhtml用法 innertext用法 以及innerHTML与innertext的区别
2009/10/26 Javascript
小议javascript 设计模式 推荐
2009/10/28 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
2014/12/14 Javascript
jQuery解析XML与传统JavaScript方法的差别实例分析
2015/03/05 Javascript
jQuery使用模式窗口实现在主页面和子页面中互相传值的方法
2016/03/01 Javascript
教你JS中的运算符乘方、开方及变量格式转换
2016/08/09 Javascript
Javascript vue.js表格分页,ajax异步加载数据
2016/10/24 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
2019/06/10 Javascript
解决在Vue中使用axios用form表单出现的问题
2019/10/30 Javascript
如何利用nodejs自动定时发送邮件提醒(超实用)
2020/12/01 NodeJs
Python多线程编程(七):使用Condition实现复杂同步
2015/04/05 Python
离线安装Pyecharts的步骤以及依赖包流程
2020/04/23 Python
Numpy 改变数组维度的几种方法小结
2018/08/02 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
Python流程控制 while循环实现解析
2019/09/02 Python
python的mysql数据库建立表与插入数据操作示例
2019/09/30 Python
python 爬虫如何正确的使用cookie
2020/10/27 Python
python 操作excel表格的方法
2020/12/05 Python
html5使用canvas实现弹幕功能示例
2017/09/11 HTML / CSS
使用canvas生成含有微信头像的邀请海报没有微信头像问题
2019/10/29 HTML / CSS
意大利制造的男鞋和女鞋:SCAROSSO
2018/03/07 全球购物
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
BLACKMORES澳洲官网:澳大利亚排名第一的保健品牌
2018/09/27 全球购物
测绘工程个人的自我评价
2013/11/10 职场文书
应届毕业生的自我鉴定
2013/11/13 职场文书
《春到梅花山》教学反思
2014/04/16 职场文书
三八妇女节活动总结
2014/05/04 职场文书
2015年小学图书室工作总结
2015/05/18 职场文书
教你快速开启Apache SkyWalking的自监控
2021/04/25 Servers
如何搭建 MySQL 高可用高性能集群
2021/06/21 MySQL