一: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. 【LeetCode题解】231_2的幂(Power-of-Two)

    目录 描述 解法 1:判断整数 \(x\) 的二进制表示中是否只有一位为1 实现方式 1:除以 2 Java 实现(非递归) Python 实现(非递归) Java 实现(递归) Python 实现( ...

  2. H5开发过程中修复的bug记录

    从2016年8月1日开始真正意义上的修复bug,也是自己开发之路的开端,希望在这里记录自己修bug过程中遇到的问题及解决方法,待能够自己开发需求的时候,计划记录开发新需求过程中遇到的问题,并且记录自己 ...

  3. [POI 2014]RAJ-Rally

    Description 题库链接 给定一个 \(N\) 个点 \(M\) 条边的有向无环图,每条边长度都是 \(1\).请找到一个点,使得删掉这个点后剩余的图中的最长路径最短. \(1\leq N\l ...

  4. spark算子集锦

    Spark 是大数据领域的一大利器,花时间总结了一下 Spark 常用算子,正所谓温故而知新. Spark 算子按照功能分,可以分成两大类:transform 和 action.Transform 不 ...

  5. 撩课-Web大前端每天5道面试题-Day23

    1.为什么用Nodejs,它有哪些优缺点? 优点: 事件驱动,通过闭包很容易实现客户端的生命活期. 不用担心多线程,锁,并行计算的问题 V8引擎速度非常快 对于游戏来说,写一遍游戏逻辑代码,前端后端通 ...

  6. vue+element ui 的表格列使用组件

    前言:工作中用到 vue+element ui 的前端框架,有这个场景:很多表格的列有许多一样的,所以考虑将列封装为组件.转载请注明出处:https://www.cnblogs.com/yuxiaol ...

  7. python中GIL和线程与进程

    线程与全局解释器锁(GIL) 一.线程概论 1.何为线程 每个进程有一个地址空间,而且默认就有一个控制线程.如果把一个进程比喻为一个车间的工作过程那么线程就是车间里的一个一个流水线. 进程只是用来把资 ...

  8. 使用 Vuejs 开发 chrome 插件的注意事项

    使用 Vuejs 开发 chrome 插件 chrome 插件的开发其实并不难,web开发者可以使用 html, css, javascript 轻松的开发实用的 chrome 插件. 一个好的 ch ...

  9. BZOJ1856: [Scoi2010]字符串(组合数)

    题意 题目链接 Sol \(30 \%\)dp: \(f[i][j]\)表示放了\(i\)个\(1\)和\(j\)个\(0\)的不合法方案 f[0][0] = 1; cin >> N &g ...

  10. AJAX-XMLHttpRequest和本地文件

    网页中可以使用相对URL的能力通常意味着我们能使用本地文件系统来开发和测试HTML,并避免对Web服务器进行不必要的部署. 然而当使用XMLHttpRequest进行Ajax编程时,这通常是不行的. ...