javascript 时间 工具

来源:互联网 发布:药智数据库会员 编辑:程序博客网 时间:2024/06/08 12:00
/** *2012-10-16 11:08:24  *@author zhaoyang    */DateUil = {oneDay : 24 * 3600000,oneWeek : 7 * 24 * 3600000,/** *获取  date 所在的 周一 * @param {Object} date */getMonday : function(date, weekNum) {date = date || new Date();if(weekNum){if(typeof date =="object"){date.setTime(date.getTime()+weekNum*this.oneWeek)}}date = DateUil.number2Date(date);var mondayPlus = this.getMondayPlus(date);return new Date().setTime(date.getTime() + (mondayPlus * this.oneDay))},/** *获取  date 所在的 周一 相差  的天数 * @param {Object} date */getMondayPlus : function(date) {date = date || new Date();date = DateUil.number2Date(date);var dayOfWeek = date.getDay();if (dayOfWeek == 0) {//周日return -6;} else {return 1 - dayOfWeek;}},/** *获取  date 所在的 周日 * @param {Object} date */getSunday : function(date,weekNum) {date = date || new Date()if(weekNum){if(typeof date =="object"){date.setTime(date.getTime()+weekNum*this.oneWeek)}}date = DateUil.number2Date(date);var mondayPlus = this.getMondayPlus(date);return new Date().setTime(date.getTime() + ((mondayPlus + 6) * this.oneDay))},/** *获取  date 和当前 日期 的周一 所差 的 周 数 * @param {Object} date */getWeekPlus : function(date) {date = date || new Date()var _m1 = this.getMonday(date);var _m2 = this.getMonday();return (_m2 - _m1) / this.oneWeek;},/** *数字转日期 * @param {Object} date */number2Date : function(date) {if ( typeof date == 'number') {var _d = new Date();_d.setTime(date);date = _d;}return date;},/** *距离现在 有 几周  *获取  date-(now()+(weekNum*oneweek))/oneWeek 所在的  * @param {Object} date   * @param {Number} weekNumOffset  和现在 偏差 周数 默认 为 0 (当前周) */getWeekNum : function(date,weekNumOffset) {weekNumOffset=weekNumOffset||0;var effectiveMonday=this.getMonday(date);var nowMonday=this.getMonday(new Date(),weekNumOffset);var resultWeekNum=0;//  距离现在 有 几周resultWeekNum=(nowMonday-effectiveMonday)/this.oneWeek;return Math.floor(Math.abs(resultWeekNum));},}

原创粉丝点击