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 相关文章推荐
学习YUI.Ext基础第一天
Mar 10 Javascript
IE8 chrome中table隔行换色解决办法
Jul 09 Javascript
封装了一个js图片轮换效果的函数
Sep 28 Javascript
js 链式延迟执行DOME
Jan 04 Javascript
Jjcarousellite 实现图片列表滚动的简单实例
Nov 29 Javascript
使用jquery.upload.js实现异步上传示例代码
Jul 29 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
Jan 26 Javascript
JavaScript中object和Object的区别(详解)
Feb 27 Javascript
koa2 从入门到精通(小结)
Jul 23 Javascript
vue选项卡切换登录方式小案例
Sep 27 Javascript
js基础之事件捕获与冒泡原理
Oct 09 Javascript
jQuery实现移动端笔触canvas电子签名
May 21 jQuery
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
世界第一个无线广播电台 KDKA
2021/03/01 无线电
递归列出所有文件和目录
2006/10/09 PHP
PHP 输出URL的快捷方式示例代码
2013/09/22 PHP
CentOS6.5 编译安装lnmp环境
2014/12/21 PHP
php 问卷调查结果统计
2015/10/08 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
2015/10/27 PHP
Yii2针对游客、用户防范规则和限制的解决方法分析
2016/10/08 PHP
php实现微信分享朋友链接功能
2019/02/18 PHP
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
jQuery Validate插件实现表单验证
2016/08/19 Javascript
AngularJS实现星星等级评分功能
2016/09/24 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
详解Angular.js指令中scope类型的几种特殊情况
2017/02/21 Javascript
利用require.js与angular搭建spa应用的方法实例
2017/07/19 Javascript
jQuery实现checkbox的简单操作
2017/11/18 jQuery
vue2.0父子组件间传递数据的方法
2018/08/16 Javascript
vue+axios 前端实现的常用拦截的代码示例
2018/08/23 Javascript
使用webpack构建应用的方法步骤
2019/03/04 Javascript
tweenjs缓动算法的使用实例分析
2019/08/26 Javascript
基于js实现逐步显示文字输出代码实例
2020/04/02 Javascript
vue 路由懒加载中给 Webpack Chunks 命名的方法
2020/04/24 Javascript
[04:22]DSPL第二期精彩集锦:残血反杀!
2014/12/10 DOTA
[36:17]DOTA2上海特级锦标赛 - VGL音乐会全集
2016/03/06 DOTA
基于DATAFRAME中元素的读取与修改方法
2018/06/08 Python
python hough变换检测直线的实现方法
2019/07/12 Python
Python的缺点和劣势分析
2019/11/19 Python
postman和python mock测试过程图解
2020/02/22 Python
哄娃神器4moms商店:美国婴童用品品牌
2019/03/07 全球购物
KARATOV珠宝在线商店:俄罗斯珠宝品牌
2019/03/13 全球购物
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
精选干货:Java精选笔试题附答案
2014/01/18 面试题
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
导游词之云南丽江古城
2019/09/17 职场文书
创业计划书之情侣餐厅
2019/09/29 职场文书
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python
PyTorch 如何自动计算梯度
2021/05/23 Python