<!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>
    <title></title>
    <script src="../Script/jQuery/jquery-1.6.2.min.js" type="text/javascript"></script>
    <script src="../Script/MTHCRMWidget/MTHCRMWidget.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            myClick();//点击事件触发
        })

        //专门包装点击事件;
        function myClick() {
            $(".tbBtn").click(function () {
                var sid = $(this).attr("id");
                var agoDate = "";
                var Cdate = new Date();
                if (sid == "CbtnNull") {
                    $("#txtCallCycleBegin").val("");
                    $("#txtCallCyclecurrend").val("");
                } else if (sid == "CbtnMoon") {
                    agoDate = ProcessDate(30);
                    $("#txtCallCycleBegin").val("{0}-{1}-{2}".format(agoDate.Year, agoDate.Moon, agoDate.Day));
                    $("#txtCallCyclecurrend").val("{0}-{1}-{2}".format(Cdate.getFullYear(), Cdate.getMonth() + 1, Cdate.getDate()));
                } else {
                    agoDate = ProcessDate(7);
                    $("#txtCallCycleBegin").val("{0}-{1}-{2}".format(agoDate.Year, agoDate.Moon, agoDate.Day));
                    $("#txtCallCyclecurrend").val("{0}-{1}-{2}".format(Cdate.getFullYear(), Cdate.getMonth() + 1, Cdate.getDate()));
                }
            })
        }

        //处理日期的函数,返回一个字面量;
        function ProcessDate(type) {
            //1.0获取现在时间的年月日:
            var currentTime = new Date("2016-01-02"); //得到当前的时间
            var currentYear = currentTime.getFullYear(); //得到当前的年份
            var currentMoon = currentTime.getMonth() + 1; //得到当前的月份(系统默认为0-11,所以要加1才算是当前的月份)
            var currentDay = currentTime.getDate(); //得到当前的天数

            //2.0获取当前时间的一个月内的年月日:(一个月内的大众业务需求为:当前时间的月份-1,当前时间的天数+1)
            var agoDay = "";
            var agoMoon = currentMoon;
            var agoYear = currentYear;
            var max = "";
            switch (type) {
                case 30:
                    agoDay = currentDay + 1;
                    agoMoon = currentMoon - 1;
                    max = new Date(agoYear, agoMoon, 0).getDate(); //获取上个月的总天数
                    break;
                case 7:
                    agoDay = currentDay - 6;
                    if (agoDay < 0) {
                        agoMoon = currentMoon - 1;//月份减1
                        max = new Date(agoYear, agoMoon, 0).getDate(); //获取上个月的总天数
                        agoDay = max + agoDay;//天数在上个月的总天数的基础上减去负数
                    }
                    break;
            }

            //3.0对处理的年月日作逻辑判断

            //如果beginDay > max(如果是当前时间的天数+1后的数值超过了上个月的总天数: 天数变为1,月份增加1)
            if (agoDay > max) {
                agoDay = 1;
                agoMoon += 1;
            }

            //如果月份当月为1月的时候, 那么一个月内:  年:-1  月:12  日:依然不变
            if (agoMoon == 0) {
                agoMoon = 12;
                agoYear = currentYear - 1;
            }

            //4.0对已经处理好的数据作格式处理(单位数则自动补零)
            currentMoon = Appendzero(currentMoon);
            currentDay = Appendzero(currentDay);
            agoMoon = Appendzero(agoMoon);
            agoDay = Appendzero(agoDay);

            //5.0帮助代码
            console.log("当前时间为:{0}-{1}-{2}".format(currentYear, currentMoon, currentDay));
            console.log("一个月前的时间为{0}-{1}-{2}".format(agoYear, agoMoon, agoDay));

            return { "Year": agoYear, "Moon": agoMoon, "Day": agoDay };
        }

        //处理各位数为零的数字(单位数则加0)
        function Appendzero(obj) {
            if (obj < 10) {
                return "0" + obj;
            } else {
                return obj;
            }
        }

    </script>
</head>
<body>
    <input type="button" class="tbBtn"  id="CbtnNull" style="background-color:#e3e3e3" value="不限"/>
    <input type="button" class="tbBtn" id="CbtnMoon" style="width: 80px; margin-left: 5px; margin-right: 5px;" value="一个月内"/>
    <input type="button" class="tbBtn" id="CbtnWeek" style="width: 80px; margin-left: 5px; margin-right: 5px;" value="一周内"/>
    <input id = "txtCallCycleBegin" type="text"/>
    <input id = "txtCallCyclecurrend" type="text"/>
</body>
</html>

javascript 关于一周前一个月前的处理方法的更多相关文章

  1. [转]Java中一周前一个月前时间计算方法

    Java中一周前一个月前时间计算方法 在java语言中,用如下方法获取系统时间: Date date = new Date(); String year=new SimpleDateFormat(&q ...

  2. [python实用代码片段]python获取当前时间的前一天,前一周,前一个月

    python获取当前时间的前一天,前一周,前一个月. 实用python的datetime.timedelta方法,避免了有的月份是30和31等不同的情况. 获取前一个月的时间,方法实现:首先datet ...

  3. JavaScript时间处理之几个月前或几个月后的指定日期

    在平常项目开发过程中,经常会遇到需要在JavaScript中处理时间的情况,无非两种(1,逻辑处理  2,格式转换处理).当然要说相关技术博,园子里闭着眼睛都能抓一把,但是我要做的是:既然有幸被我碰到 ...

  4. Oracle获取一周前,一个月前,一年前, 本周,本月,当年的日期

    1.获取当前时间一周前的日期 ' day from dual 类似的 --当前时间减去7分钟的时间 ' MINUTE from dual --当前时间减去7小时的时间 ' hour from dual ...

  5. Javascript实现时间转换为多少天前

    //实现时间转换,这篇文章发布时间为 2016/1/20 19:59:30 文章发表时间戳为:1453291170000于:11月前function getDateDiff(dateTimeStamp ...

  6. C#根据当前时间获取周,月,季度,年度等时间段的起止时间

    最近有个统计分布的需求,需要按统计本周,上周,本月,上月,本季度,上季度,本年度,上年度等时间统计分布趋势,所以这里就涉及到计算周,月,季度,年度等的起止时间了,下面总结一下C#中关于根据当前时间获取 ...

  7. Javascript获取某个月的天数-简单方法 .(转别人的)

    Javascript里面的new  Date("xxxx/xx/xx")这个日期的构造方法有一个妙处,当你传入的是"xxxx/xx/0"(0号)的话,得到的日期 ...

  8. 用js获取周、月第一天和最后一天(转载)

    var getCurrentWeek = function (day) { var days = ["周日", "周一", "周二", &q ...

  9. php获取前一天,前一个月,前一年的时间

    获取前一天的时间: $mytime= date("Y-m-d H:i:s", strtotime("-1 day")); 获取三天前的时间: $mytime= ...

随机推荐

  1. DC-DC转换器原理与应用

    DC/DC转换器为转变输入电压后,有效输出固定电压的电压转换器.DC/DC转换器分为三类:升压型DC/DC转换器.降压型DC/DC转换器以及升降压型DC/DC转换器.根据需求可采用三类控制.PWM控制 ...

  2. 自己动手做 UEStudio/UltraEdit 的语法高亮文件 (*.uew)

    自己一直比较习惯用 UEStudio 来编写 C/C++ 文件,因为 Visual Studio 2010 实在太大了,我的 T400 都跑的费劲,所以一般我只用它来编译和调试.但是可惜的是 UESt ...

  3. 【Java线程】Java线程池ExecutorService

    示例 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.u ...

  4. onItemClickListener监听的整个item的点击。如何只监听那个framelayout的点击 onItemClickListener监听的整个item的点击。如何只监听那个framelayout的点击

    已经知道了.复写getView()的时候,在内部Viewholder.length.setOnClickListener(匿名内部类)   然后新建一个接口方进去 ,然后外面的listView设置&l ...

  5. 研究了下apache的漏洞CVE-2012-0053

    发一个大cookie过去,最新版本的,竟然显示了个\n 嘛意思 干嘛不直接删掉 Your browser sent a request that this server could not under ...

  6. 动态树LCT

    #include<iostream> #include<cstdio> #include<cmath> #include<algorithm> usin ...

  7. 【动态规划】HDU 1081 & XMU 1031 To the Max

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1081 http://acm.xmu.edu.cn/JudgeOnline/problem.php?i ...

  8. 源代码管理工具TFS2013安装与使用

    最近公司新开发一个项目要用微软的TFS2013进行项目的源代码管理,以前只是用过SVN,从来没有用过TFS,所以在网上百度.谷歌了好一阵子来查看怎么安装和配置,还好花了一天时间总算是初步的搞定了,下面 ...

  9. 两个Select 之间的值的传递

    运行效果: 下面是代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML ...

  10. 编写自己的C头文件

    1.       头文件用于声明而不是用于定义 当设计头文件时,记住定义和声明的区别是很重要的.定义只可以出现一次,而声明则可以出现多次. 下列语句是一些定义,所以不应该放在头文件里: extern ...