#!/bin/bash
date_today=`date -d '1 day ago' +%Y%m%d`
 
#最近7天
date_befor_7day=`date -d '7 day ago' +%Y%m%d`
 
#上一个完整周(周一到周日)  
OFDAY="`date "+%u"`"
STEPOFDAY="`expr $OFDAY + 6`"
date_befor_weekday="`date -d '-'$STEPOFDAY' day' "+%Y-%m-%d"`"
date_befor_weekday_end="`date -d '-'$OFDAY' day' "+%Y-%m-%d"`"
 
#本月
date_this_month=`date +%Y%m01`
 
#上一个完整月
date_befor_month=`date -d '1 month ago' +%Y%m01`
 
#最近三个月
date_befor_3month=`date -d '3 month ago' +%Y%m01`
 
#上个季度
 
echo "当天:$date_today"
echo "最近7天:$date_befor_7day - $date_today"
echo "上一个完整周:$date_befor_weekday - $date_befor_weekday_end"
echo "本月内:$date_this_month - $date_today"
echo "上个完整月:$date_befor_month - $date_this_month"

Shell获取上一个月、星期的时间范围的更多相关文章

  1. js获取上一个月、下一个月格式为yyyy-mm-dd的日期

    /** * 获取上一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function getPreMonth(date) { var arr = date. ...

  2. js获取上一个月、下一个月

    /** * 获取上一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function getPreMonth(date) { var arr = date. ...

  3. JS中在当前日期上追加一天或者获取上一个月和下一个月

    /** * 获取上一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function getPreMonth(date) { var arr = date. ...

  4. python获取上一个月第一天0点的unix时间戳

    这两天做统计,需要用到当月第一天0点0分0秒的unix timestamp,上个月第一天0点的unix时间戳,三个月前月第一天的0点的Unix时间戳,六个月前当月第一天的0点的Unix时间戳,现在整理 ...

  5. php时间:获取上一个月,本月天数,下一个月

    时间戳转日期 date() 日期转时间戳 strtotime() 当前时间戳time() 获取当前月的天数: $i=; $y=; echo date("t",strtotime(& ...

  6. python中获取上一个月一号的方法

    业务场景: 我们经常会跑一些月级别或者周级别的报表. 周级别的报表还比较好确定,就是七天前的直接用timedelta(days=7)来获取开始日期就可以了; 但是月级别的报表就要麻烦一些,因为time ...

  7. javascript按照指定格式获取上一个月的日期

    //get pre month//get pre month function getPreMonth() { var date=new Date().Format("yyyy-MM-dd& ...

  8. php自动获取上一个月的起始时间

    1.借鉴评论的方法[20170309 edit] function get_month_start_end($timestamp) { !empty($timestamp) OR $timestamp ...

  9. js计算当前日期上一个月和下一个月

    /**         * 获取上一个月         *         * @date 格式为yyyy-mm-dd的日期,如:2014-01-25         */        funct ...

随机推荐

  1. 持续获取可访问谷歌的hosts(已证实可用)

    @echo off REM 欢迎圈我,在顶栏的"查找人员"处输入Felix Hsu即可 REM Patched by logicmd REM 准备工作,先清一下DNS缓存,再备份h ...

  2. [z]vs中无法加入断点进行调试的解决方案

    http://blog.chinaunix.net/uid-15464162-id-3799069.html [ 1] 以前也遇到过同样的问题,但没有问个为什么,也没有探个毕竟.昨天调试一个DLL,添 ...

  3. mysql: symbol lookup error: /usr/local/lib/libreadline.so.6: undefined symbol: UP

    Error Symptom: when you run $mysql -u root -p command in the linux you get an error message ” mysql: ...

  4. MapReduce几个简单的例子

    文件合并和去重: 可以把每一行文本作为key,value为随意值. 数字排序: MapReduce过程中就有排序,它是按照key值进行排序的,如果key为封装int的IntWritable类型,那么M ...

  5. 【Java学习笔记】HashMap子接口---LinkedHashMap

    特点: 存入元素的顺序   与   取出元素的顺序相同(与LinkedHashSet类似) import java.util.HashMap; import java.util.Iterator; i ...

  6. display:line-block和blaock的区别

    1.使用inline-block 会产生了元素间的空隙 2.line-block主要的用处是用来处理行内非替换元素的高宽问题的!行内非替换元素,比如span.a等标签,正常情况下士不能设置宽高的,加上 ...

  7. ansible 控制windows

    1.installing on the control machine On a Linux control machine: #pip install "pywinrm>=0.1.1 ...

  8. noip2015-day1-t2

    题意:有n个同学(编号为1到n)正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学.游戏开始时,每人都只知道自己的生日.之后每一轮中, ...

  9. 使用adb 查询data/data下的数据库

    1.用cmd打开adb 2.输入adb shell 3.cd到数据库所在目录 4.输入sqlite3 person.db(person.db为要操作的db名称,根据需要修改) 5.输入sql语句(每个 ...

  10. 【实战】初识ListView及提高效率

    简介: ListView是手机上最常用的控件之一,几乎所有的程序都会用到,手机屏幕空间有限,当需要显示大量数据的时候,就需要借助ListView来实现,允许用户通过手指上下滑动的方式将屏幕外的数据滚动 ...