zoukankan      html  css  js  c++  java
  • JavaScript中Date对象的几个扩展方法

    在 JavaScript 中,Date 对象的方法远远不及其它语言多,很多常用的方法都没有提供,上次在做 Calendar 项目的时候,自己又添加了一些方法,今天整理了一下,写成了一个 dateHelper 对象,下次用的时候就不用再写了。

    var dateHelper = {
        isLeapYear: function(year){
            //是否为闰年
            if ((year % 400 == 0) || (year % 100 != 0) && (year % 4 == 0)) {
                return true;
            }
            else {
                return false;
            }
        },
        daysInMonth: function(year, mo){
            //返回指定月份中的天数
            if (mo == 2) {
                return this.isLeapYear() ? 29 : 28;
            }
            else {
                return (mo == 4 || mo == 6 || mo == 9 || mo == 11) ? 30 : 31;
            }
        },
        dayOfFirstDateInMonth: function(year,mo){
    		//返回指定月份中第一天的星期数
            var newDate = new Date(year, mo - 1);
            var day = newDate.getDay();
            return day;
        },
    	getClientTimeZone : function(){
    		//返回客户端时区
    		var d = new Date();
    		return -d.getTimezoneOffset()/60;
    	}
    }
    

    这些方法都是比较常用的,包括判断是否为闰年,得到一个月的天数,得到客户端的时区设置,dayOfFirstDateInMonth 方法在 Calendar 项目中用来返回某个月的1号是星期几,以便生成日历。另外,用 JavaScript 来获取用户的时区设置并不是最稳妥的办法,至少在 windows 中,系统设置为某些时区时,JavaScript 的 getTimezoneOffset 方法并不能返回正确的值。有兴趣的同学可以试一试。

    PS. 其中的参数mo(月份),是以1为起始月的。

    更多的方法以后遇到了再陆续更新。
    下面的链接中的文件包含了这段js代码和demo,欢迎下载。

    date_helper.zip

  • 相关阅读:
    12306是如何实现高流量高并发的关键技术
    阿里知名工程师
    侵入式和非侵入式的区别
    二叉树节点的最大距离
    2014阿里面经(转)
    jq checkbox的相关操作——全选、反选、获得所有选中的checkbox
    表现和数据分离的好处
    css3完成多边形
    程序员,如何从平庸走向理想?--转载
    js对象和字符串相互转换
  • 原文地址:https://www.cnblogs.com/myphoebe/p/2226339.html
Copyright © 2011-2022 走看看