C#--获取时间段:今天,昨天,本周,上周,本月,上月,本季度,上季度,今年,去年

参考:https://www.iteye.com/blog/xqf222-1920357

https://blog.csdn.net/u011981242/article/details/51595546

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/// <summary>
/// 获取时间段(某段时间的0时0分0秒-23时59分59秒)
/// </summary>
public class DateTimeHelper
{
    /// <summary>
    /// 当前时间
    /// </summary>
  //public  static DateTime dt = DateTime.Now; //当前时间 
 
    //DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") //24小时制
    //DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")  //12小时制 
 
    /// <summary>
    /// 今天开始,0时0分0秒:
    /// </summary>
    public static DateTime startCurrentDay= Convert.ToDateTime(DateTime.Now.ToString("D").ToString());
 
    /// <summary>
    /// 今天结束,23时59分59秒:
    /// </summary>
    //public static DateTime endCurrentDay = Convert.ToDateTime(DateTime.Now.AddDays(1).ToString("D").ToString()).AddSeconds(-1);
    //public static DateTime endCurrentDay = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
    public static DateTime endCurrentDay = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 59);
 
    /// <summary>
    /// 昨天开始
    /// </summary>
    public static DateTime startLastDay = DateTime.Now.AddDays(-1).Date;
 
    /// <summary>
    /// 昨天结束
    /// </summary>
    public static DateTime endLastDay = startLastDay.AddDays(1).AddSeconds(-1);
 
 
    /// <summary>
    /// 今天星期几
    /// </summary>
    public static int currentDayOfWeek = Convert.ToInt32(DateTime.Now.DayOfWeek.ToString("d"));
 
    /// <summary>
    /// 本周周一
    /// </summary>
    public static DateTime startCurrentWeek = DateTime.Now.AddDays(1 - ((currentDayOfWeek == 0) ? 7 : currentDayOfWeek)).Date; 
 
    /// <summary>
    /// 本周周日
    /// </summary>
    public static DateTime endCurrentWeek = startCurrentWeek.AddDays(7).AddSeconds(-1);  
 
    /// <summary>
    /// 上周周一
    /// </summary>
    public static DateTime startLastWeek = startCurrentWeek.AddDays(-7).Date; 
 
    /// <summary>
    /// 上周周日
    /// </summary>
    public static DateTime endLastWeek = startLastWeek.AddDays(7).AddSeconds(-1);
 
    /// <summary>
    /// 本月月初
    /// </summary>
    public static DateTime startCurrentMonth = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date; //本月月初 
 
    /// <summary>
    /// 本月月末
    /// </summary>
    public static DateTime endCurrentMonth = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(1).AddSeconds(-1); //本月月末  //DateTime endMonth = startMonth.AddDays((dt.AddMonths(1) - dt).Days - 1);  //本月月末   
 
    /// <summary>
    /// 上月月初
    /// </summary>
    public static DateTime startLastMonth = DateTime.Now.AddMonths(-1).Date.AddDays(1 - DateTime.Now.Day);
 
    /// <summary>
    /// 上月月末
    /// </summary>
    public static DateTime endLastMonth = DateTime.Parse(DateTime.Now.AddDays(1 - DateTime.Now.Day).ToShortDateString()).AddSeconds(-1);
 
    /// <summary>
    /// 本季度初
    /// </summary>
    public static DateTime startCurrentQuarter = DateTime.Now.AddMonths(0 - (DateTime.Now.Month - 1) % 3).AddDays(1 - DateTime.Now.Day).Date; //本季度初 
 
    /// <summary>
    /// 本季度末
    /// </summary>
    public static DateTime endCurrentQuarter = startCurrentQuarter.AddMonths(3).AddSeconds(-1); //本季度末  
 
    /// <summary>
    /// 上季度初
    /// </summary>
    public static DateTime startLastQuarter = startCurrentQuarter.AddMonths(-3).Date;
 
    /// <summary>
    /// 上季度末
    /// </summary>
    public static DateTime endLastQuarter = startLastQuarter.AddMonths(3).AddSeconds(-1);  
 
    /// <summary>
    /// 今年年初
    /// </summary>
    public static DateTime startCurrentYear = new DateTime(DateTime.Now.Year, 1, 1).Date; //本年年初
 
    /// <summary>
    /// 今年年末
    /// </summary>
    public static DateTime endCurrentYear = new DateTime(DateTime.Now.Year, 12,31, 23, 59, 59); //本年年末
 
    /// <summary>
    /// 去年年初
    /// </summary>
    public static DateTime startLastYear = startCurrentYear.AddYears(-1).Date;
 
    /// <summary>
    /// 去年年末
    /// </summary>
    public static DateTime endLastYear = endCurrentYear.AddYears(-1);
 
    //至于昨天、明天、上周、上月、上季度、上年度等等,只要AddDays()、AddMonths()、AddYears()这几种方法组合一下就可以了。
 
}

  

posted @   包子789654  阅读(672)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示