JS获取本周周一,周末及获取任意时间的周一周末功能示例


Posted in Javascript onFebruary 09, 2017

本文实例讲述了JS获取本周周一,周末及获取任意时间的周一周末功能。分享给大家供大家参考,具体如下:

项目需要获取本周及任意一天的周一及周末 需格式化,示例代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>星期</title>
<script type="text/javascript" language="javascript" >
/**
 * @author zhuyangxing
 */
(function() {
  function util_date() {
    var _today=new Date();
    this.today=_today;
    this.year=_today.getYear()+1900;//当前年份
    this.Month_a=_today.getMonth();
    this.Month=this.Month_a+1;//当前月份
    this.day=_today.getDate();//当前日期
    this.date=_today.getDay()==0?7:_today.getDay();//本周第几天 因系统会把周日作为第0天
    this.Monday="";
    this.Sunday="";
    this.day_one="";
  }
  Date.prototype.pattern=function(fmt) {
    var o = {
    "M+" : this.getMonth()+1, //月份
    "d+" : this.getDate(), //日
    "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时
    "H+" : this.getHours(), //小时
    "m+" : this.getMinutes(), //分
    "s+" : this.getSeconds(), //秒
    "q+" : Math.floor((this.getMonth()+3)/3), //季度
    "S" : this.getMilliseconds() //毫秒
    };
    var week = {
    "0" : "/u65e5",
    "1" : "/u4e00",
    "2" : "/u4e8c",
    "3" : "/u4e09",
    "4" : "/u56db",
    "5" : "/u4e94",
    "6" : "/u516d"
    };
    if(/(y+)/.test(fmt)){
      fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
    }
    if(/(E+)/.test(fmt)){
      fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]);
    }
    for(var k in o){
      if(new RegExp("("+ k +")").test(fmt)){
        fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
      }
    }
    return fmt;
  },
  util_date.prototype = {
      newToday : function(_today){
        this.today=_today;
        this.year=_today.getYear()+1900;//当前年份
        this.Month_a=_today.getMonth();
        this.Month=this.Month_a+1;//当前月份
        this.day=_today.getDate();//当前日期
        this.date=_today.getDay()==0?7:_today.getDay();//本周第几天 因系统会把周日作为第0天
        this.Monday="";
        this.Sunday="";
        this.day_one="";
      },
      getMonday:function(){
        if(this.Monday.length!=0){
          return this.Monday;
        }else{
          var _monday = new Date(this.year,this.Month_a,this.day-this.date+1);
          this.Monday = _monday;
          return _monday;
        }
      },
      getSunday:function(){
        if(this.Sunday.length!=0){
          return this.Sunday;
        }else{
          var _Sunday = new Date(this.year,this.Month_a,this.day-this.date+7);
          this.Sunday = _Sunday;
          return _Sunday;
        }
      },
      getPreviousMonday:function(Monday){
          var _monday = new Date(Monday.getYear()+1900,Monday.getMonth(),Monday.getDate()-7);
          return _monday;
      },
      getPreviousSunday:function(Monday){
          var _Sunday = new Date(Monday.getYear()+1900,Monday.getMonth(),Monday.getDate()-1);
          this.Sunday = _Sunday;
          return _Sunday;
      },
      getNextMonday:function(Monday){
        var _monday = new Date(Monday.getYear()+1900,Monday.getMonth(),Monday.getDate()+7);
        return _monday;
      },
      getNextSunday:function(Monday){
        var _Sunday = new Date(Monday.getYear()+1900,Monday.getMonth(),Monday.getDate()+13);
        this.Sunday = _Sunday;
        return _Sunday;
      }
  };
  window.util_date = new util_date();
})();
document.write(window.util_date.getMonday().pattern("yyyy-MM-dd"));
</script>
</head>
<body >
</body>
</html>

如果需要可直接在项目中引入该文件 使用window.util_date.getMonday().pattern("yyyy-MM-dd");可获得2017-1-24类型的字符串

window.util_date.newToday("2017-1-1");设置当前日期
Javascript 相关文章推荐
理解Javascript闭包
Nov 01 Javascript
JS求平均值的小例子
Nov 29 Javascript
JQuery中操作Css样式的方法
Feb 12 Javascript
用jquery仿做发微博功能示例
Apr 18 Javascript
javascript实现rgb颜色转换成16进制格式
Jul 10 Javascript
js 获取范围内的随机数实例代码
Aug 02 Javascript
解决bootstrap下拉菜单点击立即隐藏bug的方法
Jun 13 Javascript
Angular4 反向代理Details实践
May 30 Javascript
详解webpack编译速度提升之DllPlugin
Feb 05 Javascript
Weex开发之地图篇的具体使用
Oct 16 Javascript
vue遍历对象中的数组取值示例
Nov 07 Javascript
vue项目实现减少app.js和vender.js的体积操作
Nov 12 Javascript
简单谈谈Javascript函数中的arguments
Feb 09 #Javascript
javascript 中设置window.location.href跳转无效问题解决办法
Feb 09 #Javascript
微信小程序之picker日期和时间选择器
Feb 09 #Javascript
BootStrap 弹出层代码
Feb 09 #Javascript
jQuery插件form-validation-engine正则表达式操作示例
Feb 09 #Javascript
javascript history对象详解
Feb 09 #Javascript
jquery dialog获取焦点的方法
Feb 09 #Javascript
You might like
php cout&amp;lt;&amp;lt;的一点看法
2010/01/24 PHP
php小偷相关截取函数备忘
2010/11/28 PHP
PHP setTime 设置当前时间的代码
2012/08/27 PHP
ThinkPHP页面跳转success与error方法概述
2014/06/25 PHP
JS去除数组重复值的五种不同方法
2013/09/06 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
聊一聊jQuery插件uploadify使用方法
2016/08/24 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
2016/12/23 Javascript
深入理解Angularjs中的$resource服务
2016/12/31 Javascript
详解Vue中使用v-for语句抛出错误的解决方案
2017/05/04 Javascript
Vue cli 引入第三方JS和CSS的常用方法分享
2018/01/20 Javascript
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
微信小程序如何使用云开发
2019/05/17 Javascript
Node爬取大批量文件的方法示例
2019/06/28 Javascript
js实现简单页面全屏
2019/09/17 Javascript
antd的select下拉框因为数据量太大造成卡顿的解决方式
2020/10/31 Javascript
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
[01:08:30]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第一场 2月28日
2021/03/11 DOTA
python OpenCV学习笔记直方图反向投影的实现
2018/02/07 Python
详解python的ORM中Pony用法
2018/02/09 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
Django中使用session保持用户登陆连接的例子
2019/08/06 Python
Python如何使用正则表达式爬取京东商品信息
2020/06/01 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
2020/11/28 Python
爱尔兰家电数码商城:Currys PC World爱尔兰
2016/07/23 全球购物
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
酒店端午节促销方案
2014/02/18 职场文书
文明礼仪演讲稿
2014/05/12 职场文书
副总经理任命书
2014/06/05 职场文书
一般基层干部群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
党委工作总结2015
2015/04/27 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript