C# 根据第几周和季度 获取开始时间和结束时间
/// <summary>
/// 根据第几周 获取开始时间和结束时间
/// </summary>
/// <param name="week">周数</param>
/// <param name="month">月份</param>
/// <returns></returns>
private Tuple<DateTime, DateTime> GetWeeks(int? week, int? month)
{ DateTime dt = DateTime.Parse($"{DateTime.Now.Year}-{month.Value}-{DateTime.Now.Day}");
string[] arrDate0 = new string[6];
string[] arrDate1 = new string[6];
//年
int year = dt.Year;
//月
//当前月第一天
DateTime weekStart = new DateTime(year, month.Value, 1);
//该月的最后一天
DateTime monEnd = weekStart.AddMonths(1).AddDays(-1);
int i = 1;
//当前月第一天是星期几
int dayOfWeek = Convert.ToInt32(weekStart.DayOfWeek.ToString("d"));
//该月第一周结束日期
DateTime weekEnd = dayOfWeek == 0 ? weekStart : weekStart.AddDays(7 - dayOfWeek);
string content = "";
// content += "第" + i + "周起始日期: " + weekStart.ToShortDateString() + " 结束日期: " + weekEnd.ToShortDateString() + "\n";
arrDate0[0] = weekStart.ToString("yyyy-MM-dd 00:00:00");
arrDate1[0] = weekEnd.ToString("yyyy-MM-dd 23:59:59"); //当日期小于或等于该月的最后一天 while (weekEnd.AddDays(1) <= monEnd)
{
i++;
//该周的开始时间
weekStart = weekEnd.AddDays(1);
//该周结束时间
weekEnd = weekEnd.AddDays(7) > monEnd ? monEnd : weekEnd.AddDays(7); arrDate0[i - 1] = weekStart.ToString("yyyy-MM-dd 00:00:00");
arrDate1[i - 1] = weekEnd.ToString("yyyy-MM-dd 23:59:59");
// content += "第" + i + "周起始日期: " + weekStart.ToShortDateString() + " 结束日期: " + weekEnd.ToShortDateString() + "\n";
} content += year + "年" + month + "月共有" + i + "周\n";
return Tuple.Create(DateTime.Parse(arrDate0[week.Value]), DateTime.Parse(arrDate1[week.Value]));
} /// <summary>
/// 根据季度 获取开始时间和结束时间
/// </summary>
/// <param name="quarter">季度</param>
/// <returns></returns>
private Tuple<DateTime, DateTime> GetQurater(string quarter)
{
DateTime dt = new DateTime();
switch (quarter)
{
case "一季度":
dt = DateTime.Parse($"{DateTime.Now.Year},1, 01");
break;
case "二季度":
dt = DateTime.Parse($"{DateTime.Now.Year},4, 01");
break;
case "三季度":
dt = DateTime.Parse($"{DateTime.Now.Year},7, 01");
break;
case "四季度":
dt = DateTime.Parse($"{DateTime.Now.Year},10, 01");
break; } //本季度初
string start = dt.AddMonths(0 - (dt.Month - 1) % 3).AddDays(1 - dt.Day).ToString("yyyy-MM-01 00:00:00"); //本季度初
//获取本季度的最后一天
string end = dt.AddMonths(0 - (dt.Month - 1) % 3).AddDays(1 - dt.Day).AddMonths(3).AddDays(-1).ToString("yyyy-MM-dd 23:59:59"); ; // return Tuple.Create(DateTime.Parse(start), DateTime.Parse(end));
}
C# 根据第几周和季度 获取开始时间和结束时间的更多相关文章
- js 获取开始时间和结束时间相隔小时及分钟(时间戳操作)
js 获取开始时间和结束时间相隔小时及分钟(时间戳操作) 场景描述:获取开始时间和结束时间相隔小时及分钟 实例: TimeOnConfirm(curDate) { if(this.pickernum ...
- java获取当前时间的年周月季度等的开始结束时间
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * Created b ...
- c# 获取 本周、本月、本季度、本年 的开始时间或结束时间
#region 获取 本周.本月.本季度.本年 的开始时间或结束时间 /// <summary> /// 获取结束时间 /// </summary> /// <param ...
- java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.uti ...
- (干货)java中如何根据一个时间获取属于本年那一周,本周的开始时间以及最后一天时间。并且设置起始时间为周6.结束时间为周5
本人亲测,有用,适用性比较强,直接上代码说话. package com.helloBike.data; import java.text.ParseException; import java.tex ...
- JS获取开始、结束时间
/** * 获取本周.本季度.本月.上月的开始日期.结束日期 */ var now = new Date(); //当前日期 var nowDayOfWeek = now.getDay(); //今天 ...
- 获取两个时间节点的月份列表&&每个月份的开始时间及结束时间
//Q:从今天起之前五个月的列表 date_default_timezone_set('PRC'); $time=strtotime('-5 month'); //包含本月 $begin = strt ...
- SQL获取本周,上周,本月,上月的开始时间和结束时间
),),--本周 ),),--上周 ),),--本月 ),),--上月 ),),--近半年 ),)--近一年 ), ,, ),)--本周开始时间 ), ,, ),)--本周结束时间 ),,, ),)- ...
- php获取指定日期所在星期的开始时间与结束时间
function getWeekRange($date){ $ret=array(); $timestamp=strtotime($date); $w=strftime('%u',$ ...
随机推荐
- css基础 -文本溢出 text-overflow:ellipsis;
.className{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;} 外部结构如下是就失效了:(移动端) <a class ...
- windows下html2jade批量转换
将项目中的代码转换为jade,使用html2jade批量转换 @echo off SETLOCAL ENABLEDELAYEDEXPANSION for %%i in (*.html) do ( ht ...
- 七牛文件上传-python
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys import os from sevencow import CowException ...
- 2. 感知机(Perceptron)基本形式和对偶形式实现
1. 感知机原理(Perceptron) 2. 感知机(Perceptron)基本形式和对偶形式实现 3. 支持向量机(SVM)拉格朗日对偶性(KKT) 4. 支持向量机(SVM)原理 5. 支持向量 ...
- ios label 简单的长按复制文本信息
在iOS开发过程中,有时候会用到UILabel展示的内容,那么就设计到点击UILabel复制它上面展示的内容的功能,也就是Label长按复制功能.网上有很多种给Label添加长按复制功能的方法,这里我 ...
- [转]JSP中EL表达式三元运算符的使用
原文地址:http://www.guance.com/469.html Java中的三元运算符为:条件?条件为true值:条件为false的值EL也有一样的运算符,用EL的三元运算符有时可以代替c:c ...
- C++中嵌入python程序——命令行模式
http://blog.csdn.net/yiyouxian/article/details/51992721
- 大型机、小型机、x86服务器的区别
原文:http://servers.pconline.com.cn/gc/1202/2679853_1.html 大型机.小型机.x86服务器的区别 首先来讲x86服务器,与平常人们所接触的台式机笔记 ...
- openvpn 客户端配置
clientdev tunproto tcpremote xx.xx.xx.xx 1194resolv-retry infinitenobindpersist-keypersist-tunca c ...
- iOS应用跳转到App Store评分
iOS应用跳转到App Store评分 1.跳转到应用评价页 NSString *urlStr = [NSString stringWithFormat:@"itms-apps://itun ...