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 相关文章推荐
基于逻辑运算的简单权限系统(实现) JS 版
Mar 24 Javascript
js以对象为索引的关联数组
Jul 04 Javascript
JavaScript 上万关键字瞬间匹配实现代码
Jul 07 Javascript
jquery原理以及学习技巧介绍
Nov 11 Javascript
jquery自动补齐功能插件flexselect用法示例
Aug 06 Javascript
Bootstrap 实现查询的完美方法
Oct 26 Javascript
vue.js+Element实现表格里的增删改查
Jan 18 Javascript
js 毫秒转天时分秒的实例
Nov 17 Javascript
解决Vue2.0 watch对象属性变化监听不到的问题
Sep 11 Javascript
浅谈Fetch 数据交互方式
Dec 20 Javascript
Angular6使用forRoot() 注册单一实例服务问题
Aug 27 Javascript
Vuex的实战使用详解
Oct 31 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
打造计数器DIY三步曲(上)
2006/10/09 PHP
PHP file_get_contents 函数超时的几种解决方法
2009/07/30 PHP
PHP实现大数(浮点数)取余的方法
2017/02/18 PHP
JQuery 学习笔记 选择器之一
2009/07/23 Javascript
jQuery + Flex 通过拖拽方式动态改变图片的代码
2011/08/03 Javascript
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
2013/03/05 Javascript
javascript实现画不相交的圆
2015/04/07 Javascript
js获取页面description的方法
2015/05/21 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
NodeJS 文件夹拷贝以及删除功能
2019/09/03 NodeJs
使用p5.js临摹动态图片
2019/11/04 Javascript
Element Input输入框的使用方法
2020/07/26 Javascript
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
2020/11/12 Javascript
Python中datetime模块参考手册
2017/01/13 Python
Python下载网络文本数据到本地内存的四种实现方法示例
2018/02/05 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
2018/02/13 Python
Numpy掩码式数组详解
2018/04/17 Python
pandas dataframe添加表格框线输出的方法
2019/02/08 Python
浅谈python处理json和redis hash的坑
2020/07/16 Python
Python自动巡检H3C交换机实现过程解析
2020/08/14 Python
CSS中越界问题的经典解决方案【推荐】
2016/04/19 HTML / CSS
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
2014/05/15 HTML / CSS
BONIA官方网站:国际奢侈品牌和皮革专家
2016/11/27 全球购物
管理部部长岗位职责
2013/12/05 职场文书
实习生自我评价
2014/01/18 职场文书
村官工作鉴定评语
2014/01/27 职场文书
新闻通讯稿模板
2015/07/22 职场文书
毕业生就业推荐表自我鉴定
2019/06/20 职场文书
CSS 还能这样玩?奇思妙想渐变的艺术
2021/04/27 HTML / CSS
Mysql数据库值的添加、修改、删除及清空操作实例
2021/06/20 MySQL
Python实现视频自动打码的示例代码
2022/04/08 Python
Golang 链表的学习和使用
2022/04/19 Golang