#!/bin/bash#开始日期,时间格式形如:2019-02-28 08:20:30
startTime="2018-05-01 00:00:00"
startMonth=`date -d "${startTime}" +"%Y%m"`#结束日期,时间格式形如:2019-06-12 16:22:59
endTime="2019-04-12 12:30:57"
endMonth=`date -d "${endTime}" +"%Y%m"`echo "sync startTime[${startTime}], endTime[${endTime}]"#重置startMonth,如统计3,4月份的季度信息,则要统计2个季度:1~3月为第一个季度,4月为第二季度(4~6月)
startMM=`date -d "${startTime}" +"%m"`
if [ ${startMM} == 02 ] || [ ${startMM} == 03 ];thenstartMonth=`date -d "${startTime}" +"%Y01"`
elif [ ${startMM} == 05 ] || [ ${startMM} == 06 ];thenstartMonth=`date -d "${startTime}" +"%Y04"`
elif [ ${startMM} == 08 ] || [ ${startMM} == 09 ];thenstartMonth=`date -d "${startTime}" +"%Y07"`
elif [ ${startMM} == 11 ] || [ ${startMM} == 12 ];thenstartMonth=`date -d "${startTime}" +"%Y10"`
fi#根据开始月份与结束月份,获取季度信息等
quarterOfYear=2000Y-1Q
while [ ${startMonth} -le ${endMonth} ]
dostartMM=${startMonth:4:2}if [ ${startMM} == 01 ];thenquarterOfYear=${startMonth:0:4}Y-1Qelif [ ${startMM} == 04 ];thenquarterOfYear=${startMonth:0:4}Y-2Qelif [ ${startMM} == 07 ];thenquarterOfYear=${startMonth:0:4}Y-3Qelif [ ${startMM} == 10 ];thenquarterOfYear=${startMonth:0:4}Y-4QfitempFirstStartDay=${startMonth}01tempEndMonth=`date -d "${tempFirstStartDay} 2 months" +"%Y%m"` if [ ${tempEndMonth} -gt ${endMonth} ];thentempEndMonth=${endMonth}fiecho "cureent quarter[${quarterOfYear}], query date range[${startMonth},${tempEndMonth}]"tempFirstEndDay=${tempEndMonth}01startMonth=`date -d "${tempFirstEndDay} 1 months" +"%Y%m"`done

根据开始时间与结束时间,计算季度相关推荐

  1. JAVA 给定开始时间和结束时间计算天数

    1.给定开始时间和结束时间计算天数 package com.ceshi;import java.text.ParseException; import java.text.SimpleDateForm ...

  2. js通过开始时间和结束时间计算出中间的所有日期,并且转换为层级结构数组对象,用于甘特图头部日期数据

    写在前面: 先看下最终数据结构展示 time('2020-10-01', '2021-01-06') 需要根据一个开始日期和一个结束日期最后返回以下数组对象 [最外层数组里的每个对象代表了某一年的所有 ...

  3. java根据开始时间和结束时间计算中间间隔日期

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; impo ...

  4. java获取当前日,当前月的开始时间和结束时间,当前季度的开始时间和结束时间

    public static void main(String[] args) {SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd& ...

  5. java 根据时间范围自动算间隔_Java根据开始时间结束时间计算时间间隔 x年x月x日...

    最近项目中有这样的需求:根据租赁开始时间租赁结束时间计算租期x年x月x日, 相同的需求还有根据出生日期计算年龄等等...... 例如:开始日期 2020年7月24日  结束日期 2021年9月3日   ...

  6. 获取年、季度、月份的开始时间和结束时间,到时分秒

    根据传入的日期获取开始时间和结束时间,到时分秒级别 如果不要时分秒,SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd" ...

  7. 获取 本周本月本季度本年开始时间和结束时间

    获取 本周本月本季度本年开始时间和结束时间 转载连接:https://blog.csdn.net/Augus3344/article/details/51015704

  8. 自定义周次开始时间,结束时间,计算一年中的周次(非自然周次)

    自定义周次开始时间,结束时间,计算一年中的周次(非自然周次),从数据库中读取时间,然后以此时间为开始时间,并且为第一周周一的开始时刻,每过7天 累计为一周,同时算出周次的开始日期和结束日期. pack ...

  9. oracle时间开始结束时间,Oracle日期周详解以及周开始结束时间计算

    1 Oracle中周相关知识描述 1.1 日期格式化函数 TO_CHAR(X [,FORMAT]):将X按FORMAT格式转换成字符串.X是一个日期,FOR 1 Oracle中周相关知识描述 1.1 ...

  10. Oracle日期周详解以及周开始结束时间计算

    1 ORACLE中周相关知识描述 1.1           日期格式化函数 TO_CHAR(X [,FORMAT]):将X按FORMAT格式转换成字符串.X是一个日期,FORMAT是一个规定了X采用 ...

最新文章

  1. 405 not allowed_无偿献血走进山东科技大学 405名爱心师生献血14万毫升
  2. oracle数据库 名词,Oracle数据库名词解释
  3. 学校(School)主要有3大角色:学校(School),讲师(Teacher),学员(Student)。请用Python语言简要实现这些类及及其属性,以及它们之间的关系。
  4. scala trait
  5. Hive列合并与元素搜集
  6. 《电脑音乐制作实战指南:伴奏、录歌、MTV全攻略》——2.3 提取VCD、DVD视频中的音频...
  7. 多媒体技术教程——信噪比
  8. 华硕笔记本电脑<举例:华硕玩家国度G752VS>启动时/重装系统后开机会自动进入BIOS界面?
  9. 软件单元测试数据分析模板,单元测试报告模板
  10. 计算机断网后显示配置0%,电脑断网后自动报警提醒怎么设置
  11. 看云烟袅袅,薄如纱衣
  12. 前端开发:Promise的使用丨蓄力计划
  13. 基本算法总结,力扣题目整理
  14. BUUCTF MISC 二维码扫描
  15. 如何查看windows软件激活状态
  16. PHp网站建设,期末大作业-海贼王主题【包含前后台】
  17. 【干货】工业软件为什么这么难?
  18. 中央气象局天气预报接口城市代码大全
  19. sqli-labs靶场(1-22关)
  20. 232:vue+openlayers选择左右两部分的地图,不重复,横向卷帘

热门文章

  1. 品牌大促“抗洪”:限量版球鞋怎样给到真爱粉?
  2. java ee 物联网 论文_《物联网技术》-科技刊物-中国论文交流中心www.cnlwjl.com
  3. jmeter分布式报错,Error in rconfigure() method java.rmi.ConnectException: Connection refused to ho st
  4. task定时任务不能自动注入 问题解决办法
  5. Windows应用、注册表
  6. JZ2440移植uboot
  7. 原生K8S部署pig微服务项目
  8. nrf52832 --- 看门狗
  9. 前端自学HTML笔记之二【超链接】
  10. Vant在微信小程序中的使用