通过实例解析javascript Date对象属性及方法
日常生活中,各种形式的时间字符到处都是。时间观念的产生,时间单位、计时工具的发明,给人类带来的变化实在一言难尽。今天就来谈谈日期那些事儿。一起来看看JavaScript中的日期对象Date。
获取月份天数
//获取月份天数 functiongetMonthDayCount(year,month){ returnnewDate(year,month,0).getDate(); } console.log(getMonthDayCount(2017,10));//31
Date第三个参数的本质跟setDate是一样的。
因为date为0时自动退到上个月的最后一天,所以这里月份也不需要减,正好的。
获取所有月份天数
functiongetAllMonthDayCount(year){ vardays=[31,newDate(year,2,0).getDate(),31,30,31,30,31,31,30,31,30,31]; returndays; } console.log(getAllMonthDayCount(2016));//[31,29,31,30,31,30,31,31,30,31,30,31]
这个算是上面的延伸,不多解释。
是否是闰年
functionisLeapYear(year){ return(year%4==0)&&(year%100!=0||year%400==0); }
这是网上的web前端开发里相关代码,相信大多数人都用。但其实你真的理解或者能记住么?光是html和css就足够多记的了
functionisLeapYear(year){ returnnewDate(year,2,0).getDate()===29; } console.log([ isLeapYear(2000), isLeapYear(2016), isLeapYear(2017), isLeapYear(2018) ]);//[true,true,false,false]
这样看,是不是就非常简单容易理解了。
而且都不需要记,是不是想忘都忘不了?
天数加减操作
之前看到有人用相对秒数在计算几天前或几天后,甚至还在算跨月,跨年的情况。
其实直接setDate就好了,自动处理跨月,跨年的情况。
//10天后是几月几号
vardt=newDate('2016-12-25');
dt.setDate(dt.getDate()+10);
console.log(dt.toLocaleDateString());//2017/1/4
//10天前是几月几号
vardt=newDate('2017-01-04');
dt.setDate(dt.getDate()-10);
console.log(dt.toLocaleDateString());//2016/12/25
下面我将JavaScriptDate对象的对象和方法总结成一个表,让大家参考,也可以关注javascript参考手册。
Date对象属性
属性 | 描述 |
---|---|
constructor | 返回对创建此对象的Date函数的引用。 |
prototype | 使您有能力向对象添加属性和方法。 |
Date对象方法
方法 | 描述 |
---|---|
Date() | 返回当日的日期和时间。 |
getDate() | 从 Date对象返回一个月中的某一天(1~31)。 |
getDay() | 从Date对象返回一周中的某一天(0~6)。 |
getMonth() | 从Date对象返回月份(0~11)。 |
getFullYear() | 从Date对象以四位数字返回年份。 |
getYear() | 请使用getFullYear()方法代替。 |
getHours() | 返回Date对象的小时(0~23)。 |
getMinutes() | 返回Date对象的分钟(0~59)。 |
getSeconds() | 返回Date对象的秒数(0~59)。 |
etMilliseconds() | 返回Date对象的毫秒(0~999)。 |
getTime() | 返回1970年1月1日至今的毫秒数。 |
getTimezoneOffset() | 返回本地时间与格林威治标准时间(GMT)的分钟差。 |
getUTCDate() | 根据世界时从Date对象返回月中的一天(1~31)。 |
getUTCDay() | 根据世界时从Date对象返回周中的一天(0~6)。 |
getUTCMonth() | 根据世界时从Date对象返回月份(0~11)。 |
getUTCFullYear() | 根据世界时从Date对象返回四位数的年份。 |
getUTCHours() | 根据世界时返回Date对象的小时(0~23)。 |
getUTCMinutes() | 根据世界时返回Date对象的分钟(0~59)。 |
getUTCSeconds() | 根据世界时返回Date对象的秒钟(0~59)。 |
getUTCMilliseconds() | 根据世界时返回Date对象的毫秒(0~999)。 |
parse() | 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。 |
setDate() | 设置Date对象中月的某一天(1~31)。 |
setMonth() | 设置Date对象中月份(0~11)。 |
setFullYear() | 设置Date对象中的年份(四位数字)。 |
setYear() | 请使用setFullYear()方法代替。 |
setHours() | 设置Date对象中的小时(0~23)。 |
setMinutes() | 设置Date对象中的分钟(0~59)。 |
setSeconds() | 设置Date对象中的秒钟(0~59)。 |
setMilliseconds() | 设置Date对象中的毫秒(0~999)。 |
setTime() | 以毫秒设置Date对象。 |
setUTCDate() | 根据世界时设置Date对象中月份的一天(1~31)。 |
setUTCMonth() | 根据世界时设置Date对象中的月份(0~11)。 |
setUTCFullYear() | 根据世界时设置Date对象中的年份(四位数字)。 |
setUTCHours() | 根据世界时设置Date对象中的小时(0~23)。 |
setUTCMinutes() | 根据世界时设置Date对象中的分钟(0~59)。 |
setUTCSeconds() | 根据世界时设置Date对象中的秒钟(0~59)。 |
setUTCMilliseconds() | 根据世界时设置Date对象中的毫秒(0~999)。 |
toSource() | 返回该对象的源代码。 |
toString() | 把Date对象转换为字符串。 |
toTimeString() | 把Date对象的时间部分转换为字符串。 |
toDateString() | 把Date对象的日期部分转换为字符串。 |
toGMTString() | 请使用toUTCString()方法代替。 |
toUTCString() | 根据世界时,把Date对象转换为字符串。 |
toLocaleString() | 根据本地时间格式,把Date对象转换为字符串。 |
toLocaleTimeString() | 根据本地时间格式,把Date对象的时间部分转换为字符串。 |
toLocaleDateString() | 根据本地时间格式,把Date对象的日期部分转换为字符串。 |
UTC() | 根据世界时返回1970年1月1日到指定日期的毫秒数。 |
valueOf() | 返回Date对象的原始值。 |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。