一:C# 获取两个时间段之间的所有时间

public List<string> GetTimeList(string rq1, string rq2)
{
  List<string> timeList = new List<string>();
  //首先保证 rq1<=rq2
  DateTime time1 = Convert.ToDateTime(rq1);
  DateTime time2 = Convert.ToDateTime(rq2);
  while (time1 <= time2)
  {
  timeList.Add(time1.ToString("yyyy-MM-dd"));
  time1 = time1.AddDays(1);
  }
  return timeList;
}

使用:

List<string> sjList = GetTimeList(sj1, sj2);

二:获取当前时间所在季度的开始和结束时间

//本季度

private List<string> FunSelectSJNow(string jd)
{
  List<string> lis = new List<string>();
  string NowYear = jd.Substring(0, 4); //截取当前年份
  string Nowjd = jd.Substring(jd.Length - 2, 2); //截取当前季度
  string StartTime = ""; //当前季度的开始时间
  string endTime = ""; //当前季度的结束时间

  if (Nowjd == "01")
  {
    StartTime = "-01-01";
    endTime = "-03-01";
  }
  if (Nowjd == "02")
  {
    StartTime = "-04-01";
    endTime = "-06-01";
  }
  if (Nowjd == "03")
  {
    StartTime = "-07-01";
    endTime = "-09-01";
  }
  if (Nowjd == "04")
  {
    StartTime = "-10-01";
    endTime = "-12-01";
  }
  StartTime = NowYear + StartTime;
  endTime = NowYear + endTime;
  lis.Add(StartTime);
  lis.Add(endTime);
  return lis;
}

//上季度

private List<string> FunSelectLastSJ(string jd)
{
  List<string> lis = new List<string>();
  string NowYear = jd.Substring(0, 4); //截取当前年份
  string Nowjd = jd.Substring(jd.Length - 2, 2); //截取当前季度
  string StartTime = ""; //上季度的开始时间
  string endTime = ""; //上季度的结束时间
  string endYear = ""; //上季度年
  string endjd = ""; //上季度季度
  if (Nowjd == "01")
  {
    endYear = (Convert.ToInt32(NowYear) -1).ToString() ;
    endjd = "Q4";
  }
  if (Nowjd == "02")
  {
    endYear = NowYear;
    endjd = "Q1";
  }
  if (Nowjd == "03")
  {
    endYear = NowYear;
    endjd = "Q2";
  }
  if (Nowjd == "04")
  {
    endYear = NowYear;
    endjd = "Q3";
  }

  if (endjd == "Q1")
  {
    StartTime = "-01-01";
    endTime = "-03-01";
  }
  if (endjd == "Q2")
  {
    StartTime = "-04-01";
    endTime = "-06-01";
  }
  if (endjd == "Q3")
  {
    StartTime = "-07-01";
    endTime = "-09-01";
  }
  if (endjd == "Q4")
  {
    StartTime = "-10-01";
    endTime = "-12-01";
  }
  StartTime = endYear + StartTime;
  endTime = endYear + endTime;
  lis.Add(StartTime);
  lis.Add(endTime);
  return lis;
}

使用:

List<string> li = FunSelectSJNow(NowTime);
rq1 = li[0];
rq2 = li[1];

// jd: Q1,Q2,Q3,Q4 (四个季度)
List<string> li = FunSelectLastSJ(jd);
rq1 = li[0];
rq2 = li[1];

C# 获取两个时间段之间的所有时间与获取当前时间所在的季度开始和结束时间的更多相关文章

  1. Java 获取两个日期之间的日期

    1.前期需求,两个日期,我们叫他startDate和endDate,然后获取到两个日期之间的日期 /** * 获取两个日期之间的日期 * @param start 开始日期 * @param end ...

  2. JS 格式化时间(获取两个日期之间的每一天、每一月、每半小时、每一秒)

    时间戳转换为时间 // 时间戳转换为时间 function timestampToTime(timestamp, isMs = true) { const date = new Date(timest ...

  3. java 获取两个日期之间的所有日期(年月日)

    前言:直接上代码 java 获取两个日期之间的所有日期(年月日) /** * 获取两个日期之间的日期,包括开始结束日期 * @param start 开始日期 * @param end 结束日期 * ...

  4. Mysql 如何查询两个时间段之间的数据?

    Mysql 如何查询两个时间段之间的数据?

  5. java获取两个日期之间的所有日期

    java获取两个日期之间的所有日期   解决方法: 1.核心方法 private List<String> getBetweenDates(String start, String end ...

  6. SQL 获得两个时间段之间的数据

    一般保存在数据库中的日期精度很高,比如'2014-04-15 16:31:22.000' 而一般用户选择的时间精度是精确到日的,比如'2012-04-15' 所以你想取出两个日期之间的数据,如果用下面 ...

  7. php获取两个时间戳之间相隔多少天多少小时多少分多少秒

    /** * 返回两个时间的相距时间,*年*月*日*时*分*秒 * @param int $one_time 时间一 * @param int $two_time 时间二 * @param int $r ...

  8. 获取两个时间节点的月份列表&&每个月份的开始时间及结束时间

    //Q:从今天起之前五个月的列表 date_default_timezone_set('PRC'); $time=strtotime('-5 month'); //包含本月 $begin = strt ...

  9. php 获取 两个时间戳之间 相隔 【多少年】 【 多少个月】 【多少天】 【 多少个小时】 【多少分】【 多少秒 】

    /** * 返回两个时间的相距时间,*年*月*日*时*分*秒 * @param int $one_time 时间戳一 大的时间戳 * @param int $two_time 时间戳二 小的时间戳 * ...

随机推荐

  1. sql日期格式处理

    sql server中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 ...

  2. Spring MVC 实现web Socket向前端实时推送数据

    最近项目中用到了webSocket服务,由后台实时向所有的前端推送消息,前端暂时是不可以发消息给后端的,数据的来源是由具体的设备数据收集器收集起来,然后通过socket推送给后端,后端收到数据后,再将 ...

  3. PHP PSR 标准

    引用他人文章:http://www.cnblogs.com/52php/p/5852572.html PHP中PSR-[0-4]代码规范 PHP-FIG 在说啥是PSR-[0-4]规范的之前,我觉得我 ...

  4. Ceph 存储集群 - 搭建存储集群

    目录 一.准备机器 二.ceph节点安装 三.搭建集群 四.扩展集群(扩容)   一.准备机器 本文描述如何在 CentOS 7 下搭建 Ceph 存储集群(STORAGE CLUSTER). 一共4 ...

  5. openTSDB(转)

    1.OpenTSDB介绍 1.1.OpenTSDB是什么?主要用途是什么? 官方文档这样描述:OpenTSDB is a distributed, scalable Time Series Datab ...

  6. DataTable的Ajax使用

    DataTable Datatables是一款jquery表格插件.它是一个高度灵活的工具,可以将任何HTML表格添加高级的交互功能. 官网: https://datatables.net/ 中文网: ...

  7. WIN 10 初体验:期待越多失望越大

    我大多数时候使用 MacBook,不过 WIN 10(预览版)的推送还是让我忍不住升级玩玩——它是微软史上首款真正意义上的免费操作系统,正式版将与中国诸多互联网巨头联合提供升级工具分发这一体现了微软迎 ...

  8. SpringBoot(四) Core Features: Logging

    参考 文档: 26. Logging

  9. LeetCode SQL:Employees Earning More Than Their Managers

    # Write your MySQL query statement below SELECT a.Name FROM Employee AS a INNER JOIN Employee AS b O ...

  10. 在MyBatis中查询数据、涉及多参数的数据访问操作、插入数据时获取数据自增长的id、关联表查询操作、动态SQL、关于配置MyBatis映射没有代码提示的解决方案

    1. 单元测试 在单元测试中,每个测试方法都需要执行相同的前置代码和后置代码,则可以自定义2个方法,分别在这2个方法中执行前置代码和后置代码,并为这2个方法添加@Before和@After注解,然后, ...