zoukankan
html css js c++ java
DateTime操作详情
//
大家在做报表或查询的时候都会有给用户预设一些可选的日期范围(如上图)
2
//
如本年度销售额、本季度利润、本月新增客户
3
//
C#里内置的DateTime基本上都可以实现这些功能,巧用DateTime会使你处理这些事来变轻松多了
4
5
//
今天
6
DateTime.Now.Date.ToShortDateString();
7
//
昨天,就是今天的日期减一
8
DateTime.Now.AddDays(
-
1
).ToShortDateString();
9
//
明天,同理,加一
10
DateTime.Now.AddDays(
1
).ToShortDateString();
11
12
//
本周(要知道本周的第一天就得先知道今天是星期几,从而得知本周的第一天就是几天前的那一天,要注意的是这里的每一周是从周日始至周六止
13
DateTime.Now.AddDays(Convert.ToDouble((
0
-
Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();
14
DateTime.Now.AddDays(Convert.ToDouble((
6
-
Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();
15
//
如果你还不明白,再看一下中文显示星期几的方法就应该懂了
16
//
由于DayOfWeek返回的是数字的星期几,我们要把它转换成汉字方便我们阅读,有些人可能会用switch来一个一个地对照,其实不用那么麻烦的
17
string
[] Day
=
new
string
[]
{
"
星期日
"
,
"
星期一
"
,
"
星期二
"
,
"
星期三
"
,
"
星期四
"
,
"
星期五
"
,
"
星期六
"
}
;
18
Day[Convert.ToInt16(DateTime.Now.DayOfWeek)];
19
20
//
上周,同理,一个周是7天,上周就是本周再减去7天,下周也是一样
21
DateTime.Now.AddDays(Convert.ToDouble((
0
-
Convert.ToInt16(DateTime.Now.DayOfWeek)))
-
7
).ToShortDateString();
22
DateTime.Now.AddDays(Convert.ToDouble((
6
-
Convert.ToInt16(DateTime.Now.DayOfWeek)))
-
7
).ToShortDateString();
23
//
下周
24
DateTime.Now.AddDays(Convert.ToDouble((
0
-
Convert.ToInt16(DateTime.Now.DayOfWeek)))
+
7
).ToShortDateString();
25
DateTime.Now.AddDays(Convert.ToDouble((
6
-
Convert.ToInt16(DateTime.Now.DayOfWeek)))
+
7
).ToShortDateString();
26
//
本月,很多人都会说本月的第一天嘛肯定是1号,最后一天就是下个月一号再减一天。当然这是对的
27
//
一般的写法
28
DateTime.Now.Year.ToString()
+
DateTime.Now.Month.ToString()
+
"
1
"
;
//
第一天
29
DateTime.Parse(DateTime.Now.Year.ToString()
+
DateTime.Now.Month.ToString()
+
"
1
"
).AddMonths(
1
).AddDays(
-
1
).ToShortDateString();
//
最后一天
30
31
//
巧用C#里ToString的字符格式化更简便
32
DateTime.Now.ToString(
"
yyyy-MM-01
"
);
33
DateTime.Parse(DateTime.Now.ToString(
"
yyyy-MM-01
"
)).AddMonths(
1
).AddDays(
-
1
).ToShortDateString();
34
35
//
上个月,减去一个月份
36
DateTime.Parse(DateTime.Now.ToString(
"
yyyy-MM-01
"
)).AddMonths(
-
1
).ToShortDateString();
37
DateTime.Parse(DateTime.Now.ToString(
"
yyyy-MM-01
"
)).AddDays(
-
1
).ToShortDateString();
38
//
下个月,加去一个月份
39
DateTime.Parse(DateTime.Now.ToString(
"
yyyy-MM-01
"
)).AddMonths(
1
).ToShortDateString();
40
DateTime.Parse(DateTime.Now.ToString(
"
yyyy-MM-01
"
)).AddMonths(
2
).AddDays(
-
1
).ToShortDateString();
41
//
7天后
42
DateTime.Now.Date.ToShortDateString();
43
DateTime.Now.AddDays(
7
).ToShortDateString();
44
//
7天前
45
DateTime.Now.AddDays(
-
7
).ToShortDateString();
46
DateTime.Now.Date.ToShortDateString();
47
48
//
本年度,用ToString的字符格式化我们也很容易地算出本年度的第一天和最后一天
49
DateTime.Parse(DateTime.Now.ToString(
"
yyyy-01-01
"
)).ToShortDateString();
50
DateTime.Parse(DateTime.Now.ToString(
"
yyyy-01-01
"
)).AddYears(
1
).AddDays(
-
1
).ToShortDateString();
51
//
上年度,不用再解释了吧
52
DateTime.Parse(DateTime.Now.ToString(
"
yyyy-01-01
"
)).AddYears(
-
1
).ToShortDateString();
53
DateTime.Parse(DateTime.Now.ToString(
"
yyyy-01-01
"
)).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
"
)).AddYears(
2
).AddDays(
-
1
).ToShortDateString();
57
58
//
本季度,很多人都会觉得这里难点,需要写个长长的过程来判断。其实不用的,我们都知道一年四个季度,一个季度三个月
59
//
首先我们先把日期推到本季度第一个月,然后这个月的第一天就是本季度的第一天了
60
DateTime.Now.AddMonths(
0
-
((DateTime.Now.Month
-
1
)
%
3
)).ToString(
"
yyyy-MM-01
"
);
61
//
同理,本季度的最后一天就是下季度的第一天减一
62
DateTime.Parse(DateTime.Now.AddMonths(
3
-
((DateTime.Now.Month
-
1
)
%
3
)).ToString(
"
yyyy-MM-01
"
)).AddDays(
-
1
).ToShortDateString();
63
//
下季度,相信你们都知道了。。。。收工
64
DateTime.Now.AddMonths(
3
-
((DateTime.Now.Month
-
1
)
%
3
)).ToString(
"
yyyy-MM-01
"
);
65
DateTime.Parse(DateTime.Now.AddMonths(
6
-
((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(
0
-
((DateTime.Now.Month
-
1
)
%
3
)).ToString(
"
yyyy-MM-01
"
)).AddDays(
-
1
).ToShortDateString();
69
查看全文
相关阅读:
IIS的FTP出错: 451 No mapping for the unicode character exists in the target multibyte code page
silverlight中AES加密RijndaelManaged的使用
ManualResetEvent详解
Silverlight如何与JS相互调用
SQL Server 2008备份策略设计
mysql 服务无法启动
Silverlight Resource
TCP 烟囱卸载
.net程序 混淆、强签名、加密
开源客户关系管理系统SplendidCRM下的二次开发
原文地址:https://www.cnblogs.com/bicabo/p/1435397.html
最新文章
关于强签名程序集
Visual Studio2010不能安装Silverlight4_Tools,提示语言不一致
Win7 下面查看当前端口对应的进程名字(XP同样适用)
关于RSA加密算法的长度限制问题
在Silverlight 和WPF中使用预编译指令 if..else..endif (译)
对IDisposable接口的理解
Silverlight 4 WebBrowser的使用及调用 WebBrowser 中的 javascript 方法
TFS上分支和标签的用法
让虚拟机实现开机自动后台运行
添加Service Reference, 无法为服务生成代码错误的解决办法
热门文章
未能转换为类型库。类型库导出程序在处理,时遇到了错误。错误: 找不到元素
Visual Studio 2010 如何改用 Beyond Compare 作为 TFS 的比较工具
远程服务器返回错误 (401) 未经授权 解决方案
WPF 图形设计器(Diagram Designer)
开机不登陆系统自动启动Vmware虚拟机(系统服务)
Subverting Vista UAC in Both 32 and 64 bit Architectures
TF255322 問題排除!TFS 2010 的 報表無法正常顯示,dsIteration
AES 加密原理
.NET的3C:CTS、CLS和CLR 以及 IL
MyISAM和Innodb比较
Copyright © 2011-2022 走看看