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 相关文章推荐
node.js中的fs.utimesSync方法使用说明
Dec 15 Javascript
node.js中的fs.lchownSync方法使用说明
Dec 16 Javascript
举例详解Python中smtplib模块处理电子邮件的使用
Jun 24 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
Sep 07 Javascript
需灵活掌握的Bootstrap预定义排版类 你精通吗?
Jun 20 Javascript
jQuery.Validate表单验证插件的使用示例详解
Jan 04 Javascript
angularjs $http实现form表单提交示例
Jun 09 Javascript
微信小程序使用map组件实现路线规划功能示例
Jan 22 Javascript
layui导出所有数据的例子
Sep 10 Javascript
JQuery通过键盘控制键盘按下与松开触发事件
Aug 07 jQuery
OpenLayers加载缩放控件使用方法详解
Sep 25 Javascript
swiper实现导航滚动效果
Dec 13 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
PHP4引用文件语句的对比
2006/10/09 PHP
剖析 PHP 中的输出缓冲
2006/12/21 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
一个tab标签切换效果代码
2009/03/27 Javascript
Ext 表单布局实例代码
2009/04/30 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
JS操作Cookies的小例子
2013/10/15 Javascript
JS实现将人民币金额转换为大写的示例代码
2014/02/13 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
jquery读写cookie操作实例分析
2015/12/24 Javascript
当jquery ajax遇上401请求的解决方法
2016/05/19 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
如何处理JSON中的特殊字符
2016/11/30 Javascript
Jquery Easyui进度条组件Progress使用详解(8)
2020/03/26 Javascript
JavaScript优化以及前段开发小技巧
2017/02/02 Javascript
js 两数组去除重复数值的实例
2017/12/06 Javascript
vue+Vue Router多级侧导航切换路由(页面)的实现代码
2018/12/20 Javascript
Vue分页器实现原理详解
2019/06/28 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
Python实现的破解字符串找茬游戏算法示例
2017/09/25 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
python通过tcp发送xml报文的方法
2018/12/28 Python
python 格式化输出百分号的方法
2019/01/20 Python
如何不用安装python就能在.NET里调用Python库
2019/07/12 Python
python3中for循环踩过的坑记录
2020/12/14 Python
超市国庆节促销方案
2014/02/20 职场文书
三好学生个人先进事迹材料
2014/05/17 职场文书
关爱留守儿童标语
2014/06/18 职场文书
文明社区申报材料
2014/08/21 职场文书
党支部先进事迹材料
2014/12/24 职场文书
python3实现Dijkstra算法最短路径的实现
2021/05/12 Python
Ruby GDBM操作简介及数据存储原理
2022/04/19 Ruby