<!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. 托管host

    托管在googlecode的host https://smarthosts.googlecode.com/svn/trunk/hosts

  2. kibaba 选择字段

  3. 【HDOJ】4884 TIANKENG's rice shop

    简单模拟,注意并不是完全按照FIFO的顺序.比如第i个人的id为k,那么就算第i+1人的id不为k,也会检查他后续的排队人是否有id为k的. #include <cstdio> #incl ...

  4. linux之sed用法【转载】

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed ...

  5. 支付宝开通海外退税 阿里腾讯暗战跨境O2O_21世纪网

    支付宝开通海外退税 阿里腾讯暗战跨境O2O_21世纪网 支付宝开通海外退税 阿里腾讯暗战跨境O2O

  6. 比较了一下基于PhoneGAP/JQ Mobile 等基于HTML5的Phone 开发框架

    比较了一下基于PhoneGAP/JQ Mobile 等基于HTML5的Phone 开发框架,如果做APP客户端的化,想达到Native UI的效果,都是胡扯的,根本不可能. PhoneGAP 如果想达 ...

  7. java笔记12之面向对象初始

    1 概述 类:是一组相关的属性和行为的集合.是一个抽象的概念.     对象:是该类事物的具体表现形式.具体存在的个体. (1)面向对象思想     面向对象是基于面向过程的编程思想.         ...

  8. Java程序员可能犯的3个常见SQL错误

    概述:Java程序员不仅要具备扎实的Java编程能力,在日常的工作当中往往还要涉及到其他语言的基础知识,尤其是SQL.那么哪些常见的SQL错误是程序员们容易犯的呢?让我们一起来看看吧! 你可能看到Ja ...

  9. Core Services 层

    Core Services层为所有的应用程序提供基础系统服务.可能应用程序并不直接使用这些服务,但它们是系统很多部分赖以建构的基础. 高阶特性 下面的部分描述一些比较常见特性,也许您正打算让您的应用程 ...

  10. C语言判断文件是否存在

      用函数access,头文件是io.h,原型:    int   access(const   char   *filename,   int   amode); amode参数为0时表示检查文件的 ...