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 相关文章推荐
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
Mar 11 Javascript
Jquery中显示隐藏的实现代码分析
Jul 26 Javascript
Javascript显示和隐藏ul列表的方法
Jul 15 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
May 16 Javascript
详解JavaScript对象类型
Jun 16 Javascript
基于vue实现分页/翻页组件paginator示例
Mar 09 Javascript
JS中type=&quot;button&quot;和type=&quot;submit&quot;的区别
Jul 04 Javascript
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
Sep 12 Javascript
vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定
Sep 14 Javascript
浅谈Node 异步IO和事件循环
May 05 Javascript
javascript实现点击星星小游戏
Dec 24 Javascript
jQuery实现点击滚动到指定元素上的方法分析
Mar 19 jQuery
简单谈谈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分页函数
2006/10/09 PHP
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
2013/06/02 PHP
解析yii数据库的增删查改
2013/06/20 PHP
PHP+MySQL插入操作实例
2015/01/21 PHP
thinkphp5使用无限极分类
2019/02/18 PHP
通过DOM脚本去设置样式信息
2010/09/19 Javascript
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
js创建对象的方法汇总
2016/01/07 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
js实现加载页面就自动触发超链接的示例
2017/08/31 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
angular4中*ngFor不能对返回来的对象进行循环的解决方法
2018/09/12 Javascript
JavaScript事件冒泡机制原理实例解析
2020/01/14 Javascript
Vue事件处理原理及过程详解
2020/03/11 Javascript
Python文件右键找不到IDLE打开项解决办法
2015/06/08 Python
解决django 新增加用户信息出现错误的问题
2019/07/28 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
django ajax发送post请求的两种方法
2020/01/05 Python
Python创建空列表的字典2种方法详解
2020/02/13 Python
Python 实现平台类游戏添加跳跃功能
2020/03/27 Python
HTML5拖拽功能实现的拼图游戏
2018/07/31 HTML / CSS
单位在职证明范本
2014/01/09 职场文书
竞争上岗演讲稿范文
2014/05/12 职场文书
幼儿教师求职信
2014/05/24 职场文书
医学专业毕业生求职信
2014/06/20 职场文书
人力资源管理毕业生自荐信
2014/06/26 职场文书
建筑安全生产目标责任书
2014/07/23 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
天河观后感
2015/06/11 职场文书
写作技巧:如何撰写商业计划书
2019/08/08 职场文书
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
2021/05/21 Redis
CSS极坐标的实例代码
2021/06/03 HTML / CSS
排查并解决Oracle sysaux表空间异常增长
2022/04/20 Oracle
云服务器部署 Web 项目的实现步骤
2022/06/28 Servers