【转】C# 根据当前时间获取,本周,本月,本季度等时间段 .Net中Exception
1 DateTime dt = DateTime.Now; //当前时间
2
3 DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d"))); //本周周一
4 DateTime endWeek = startWeek.AddDays(6); //本周周日
5
6 DateTime startMonth = dt.AddDays(1 - dt.Day); //本月月初
7 DateTime endMonth = startMonth.AddMonths(1).AddDays(-1); //本月月末
8 //DateTime endMonth = startMonth.AddDays((dt.AddMonths(1) - dt).Days - 1); //本月月末
9
10 DateTime startQuarter = dt.AddMonths(0 - (dt.Month - 1) % 3).AddDays(1 - dt.Day); //本季度初
11 DateTime endQuarter = startQuarter.AddMonths(3).AddDays(-1); //本季度末
12
13 DateTime startYear = new DateTime(dt.Year, 1, 1); //本年年初
14 DateTime endYear = new DateTime(dt.Year, 12, 31); //本年年末
15
16 至于昨天、明天、上周、上月、上季度、上年度等等,只要AddDays()、AddMonths()、AddYears()这几种方法组合一下就可以了。
17 C#中datetime的使用
18 //如果你还不明白,再看一下中文显示星期几的方法就应该懂了
19 //由于DayOfWeek返回的是数字的星期几,我们要把它转换成汉字方便我们阅读,有些人可能会用switch来一个一个地对照,其实不用那么麻烦的
20 string[] Day = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
21 string week = Day[Convert.ToInt32(DateTime.Now.DayOfWeek.ToString("d"))].ToString();
22
23 //上周,同理,一个周是7天,上周就是本周再减去7天,下周也是一样
24 DateTime.Now.AddDays(Convert.ToInt32 (1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) - 7); //上周一
25 DateTime.Now.AddDays(Convert.ToInt32 (1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) - 7).AddDays(6); //上周末(星期日)
26 //下周
27 DateTime.Now.AddDays(Convert.ToInt32 (1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) + 7); //下周一
28 DateTime.Now.AddDays(Convert.ToInt32(1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) + 7).AddDays(6); //下周末
29 //本月,很多人都会说本月的第一天嘛肯定是1号,最后一天就是下个月一号再减一天。当然这是对的
30 //一般的写法
31 DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1"; //第一天
32 DateTime.Parse(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1").AddMonths(1).AddDays(-1).ToShortDateString();//最后一天
33
34 //巧用C#里ToString的字符格式化更简便
35 DateTime.Now.ToString("yyyy-MM-01");
36 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).AddDays(-1).ToShortDateString();
37
38 //上个月,减去一个月份
39 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-1).ToShortDateString();
40 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
41 //下个月,加去一个月份
42 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).ToShortDateString();
43 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(2).AddDays(-1).ToShortDateString();
44 //7天后
45 DateTime.Now.Date.ToShortDateString();
46 DateTime.Now.AddDays(7).ToShortDateString();
47 //7天前
48 DateTime.Now.AddDays(-7).ToShortDateString();
49 DateTime.Now.Date.ToShortDateString();
50
51 //本年度,用ToString的字符格式化我们也很容易地算出本年度的第一天和最后一天
52 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString();
53 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToShortDateString();
54 //上年度,不用再解释了吧
55 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(-1).ToShortDateString();
56 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddDays(-1).ToShortDateString();
57 //下年度
58 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).ToShortDateString();
59 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(2).AddDays(-1).ToShortDateString();
60
61 //本季度,很多人都会觉得这里难点,需要写个长长的过程来判断。其实不用的,我们都知道一年四个季度,一个季度三个月
62 //首先我们先把日期推到本季度第一个月,然后这个月的第一天就是本季度的第一天了
63 DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)).AddDays(1 - DateTime.Now.Day);
64 //同理,本季度的最后一天就是下季度的第一天减一
65 DateTime.Parse(DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
66 //下季度,相信你们都知道了。。。。收工
67 DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01");
68 DateTime.Parse(DateTime.Now.AddMonths(6 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
69 //上季度
70 DateTime.Now.AddMonths(-3 - ((DateTime.Now.Month - 1) % 3)). AddDays(1 - DateTime.Now);
71 DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)).AddDays(1 - DateTime.Now.Day).AddDays(-1).ToShortDateString();
【转】C# 根据当前时间获取,本周,本月,本季度等时间段 .Net中Exception的更多相关文章
- c# 根据当前时间获取,本周,本月,本季度,月初,月末,各个时间段
DateTime dt = DateTime.Now; //当前时间 DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") //24小时制 ...
- PHP 时间获取本周 本月 本季度用法
<?php $week_begin = mktime(0, 0, 0,date("m"),date("d")-date("w&qu ...
- 转: C# 根据当前时间获取,本周,本月,本季度等时间段 .Net中Exception
DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays( - Convert.ToInt32(dt.DayOfWeek.T ...
- JS获取本周、本季度、本月、上月的开始日期、结束日期
/** * 获取本周.本季度.本月.上月的开始日期.结束日期 */ var now = new Date(); //当前日期 var nowDayOfWeek = ...
- JS获取本周、本季度、本月、上月、本年的开始日期、结束日期
/** * 获取本周.本季度.本月.上月的开始日期.结束日期 */ var now = new Date(); //当前日期 var nowDayOfWeek = now.getDay(); //今 ...
- JAVA获取本周 本月 本年 第一天和最后一天
/** * 日期工具类 */ public class DateUtils { /** * 获取今天 * @return String * */ public static String getTod ...
- moment.js获取本周本月本年的开始日期和结束日期
//获取本日 const startDate = moment().format('YYYY-MM-DD'); const startDate = moment().format('YYYY-MM-D ...
- c#根据当前时间获取本周,本月,本年度等时间段和DateTime日期格式化
DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays( - Convert.ToInt32(dt.DayOfWeek.T ...
- js获取时间(本周、本季度、本月..)
/** * 获取本周.本季度.本月.上月的开端日期.停止日期 */ var now = new Date(); //当前日期 var nowDayOfWeek = now.getDay(); //今天 ...
随机推荐
- simulate mdns message
use dns-sd command simulate mdns message: dns-sd -R test _test._tcp local 1234 a=1111111111111111111 ...
- Python sqlalchemy使用
import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declar ...
- 《Python》 面向对象三大特性之多态、封装
一.多态 1.什么是多态? 一个类表现出的多种状态:通过继承来实现的 在Java中的表现:在一个函数中需要给参数指定数据类型,如果这个地方可以接收两个以上类型的参数,那么这些类型应该有一个父类,这个父 ...
- win7自带wifi win7无线网络共享设置图文方法
win7自带wifi win7无线网络共享设置图文方法 点评:开启windows 7的隐藏功能:虚拟WiFi和SoftAP(即虚拟无线AP),就可以让电脑变成无线路由器,实现共享上网,节省网费和路由器 ...
- grafana设置Alert阈值和邮件报警
首先我们需要在机器上开启smtp/25服务,这里有一个坑,注意,云主机为了防止滥发邮件已经封掉了smtp的所有通信,所以云主机发邮件是有问题的. 安装sendmail,ubuntu用apt,cento ...
- putc,fputc,和putchar
putc()功能和fputc()差不多,一个是宏,一个是函数 putc(int ch,FILE *fp),即将字符ch输出到fp所指的文件中:putchar(char ch),即将字符ch输出到标准输 ...
- paho.mqtt.embedded-c MQTTPacket pub0sub1.c hacking
/******************************************************************************* * paho.mqtt.embedde ...
- Android shell command execute Demo
package com.android.utils; import java.io.File; import java.io.IOException; import java.io.InputStre ...
- 本地和服务器(ubuntu)文件同步
秘钥登录远端服务器 rsync -avze 'ssh -i ./id_rsa' root@remoteIp:/xx/remotefile.txt ./localpath (./id_rsa为本地秘钥路 ...
- hdu 5285 二分图黑白染色
题意:给出 n 个人,以及 m 对互不认识的关系,剩余的人都互相认识,要将所有人分成两组,组内不能有互不认识的人,要求每组至少有一人,并且第一组人数尽量多,问两组人数或不可能时单独输出 BC 48 场 ...