asp时间⽇期(DateTime)的格式处理⽇期格式化{0:yyyy-MM-dd HH:mm:ss.fff}与{0:yyyy-MM-dd hh:mm:ss.fff}的区别
使⽤24⼩时制格式化⽇期:{0:yyyy-MM-dd HH:mm:ss.fff}
使⽤12⼩时制格式化⽇期:{0:yyyy-MM-dd hh:mm:ss.fff}
以下同理,从左⾄右分别为-年-⽉-⽇时:分:秒.毫秒
{0:yyyy-MM-dd HH:mm:ss zzz}
{0:yyyy-MM-dd HH:mm:ss.ff zzz}
{0:yyyy-MM-dd HH:mm:ss.fff zzz}
{0:yyyy-MM-dd HH:mm:ss.ffff zzz}
⽇期与字符串之间的转换:
1、字符串与⽇期之间的转换:
DateTime dt = DateTime.ParseExact("时间字符串", "原始字符串的格式(yyyyMMddHHmmss)",
System.Globalization.CultureInfo.InvariantCulture);
使⽤列⼦: DateTime dt = DateTime.ParseExact("20100204005802", "yyyyMMddHHmmss",
System.Globalization.CultureInfo.InvariantCulture); //得到时间结果是2010/2/4 0:58:02
下⾯是⼀些例⼦:
1//2016年4⽉24⽇
2 System.DateTime.Now.ToString("D");
3//2016-4-24
4 System.DateTime.Now.ToString("d");
5//2016年4⽉24⽇ 16:30:15
6 System.DateTime.Now.ToString("F");
7//2016年4⽉24⽇ 16:30
8 System.DateTime.Now.ToString("f");
9//2016-4-24 16:30:15
10 System.DateTime.Now.ToString("G");
11//2016-4-24 16:30
12 System.DateTime.Now.ToString("g");
13//16:30:15
14 System.DateTime.Now.ToString("T");
15//16:30
16 System.DateTime.Now.ToString("t");
17//2016年4⽉24⽇ 8:30:15
18 System.DateTime.Now.ToString("U");
19//2016-04-24 16:30:15Z
20 System.DateTime.Now.ToString("u");
21//4⽉24⽇
22 System.DateTime.Now.ToString("m");
23 System.DateTime.Now.ToString("M");
24//Tue, 24 Apr 2016 16:30:15 GMT
25 System.DateTime.Now.ToString("r");
26 System.DateTime.Now.ToString("R");
27//2016年4⽉
28 System.DateTime.Now.ToString("y");
29 System.DateTime.Now.ToString("Y");
30//2016-04-24T15:52:19.1562500+08:00
31 System.DateTime.Now.ToString("o");
32 System.DateTime.Now.ToString("O");
33//2016-04-24T16:30:15
34 System.DateTime.Now.ToString("s");
35//2016-04-24 15:52:19
36 System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
37//2016年04⽉24 15时56分48秒
38 System.DateTime.Now.ToString("yyyy年MM⽉dd HH时mm分ss秒");
39//星期⼆, 四⽉ 24 2016
40 System.DateTime.Now.ToString("dddd, MMMM dd yyyy");
41//⼆, 四⽉ 24 ’08
42 System.DateTime.Now.ToString("ddd, MMM d \"’\"yy");
43//星期⼆, 四⽉ 24
44 System.DateTime.Now.ToString("dddd, MMMM dd");
45//4-08
46 System.DateTime.Now.ToString("M/yy");
47//24-04-08
48 System.DateTime.Now.ToString("dd-MM-yy");
49//字符型转换转为字符串
5012345.ToString("n"); //⽣成 12,345.00
5112345.ToString("C"); //⽣成¥12,345.00
5212345.ToString("e"); //⽣成 1.234500e+004
5312345.ToString("f4"); //⽣成 12345.0000
5412345.ToString("x"); //⽣成 3039 (16进制)
5512345.ToString("p"); //⽣成 1,234,500
56//本年度销售额、本季度利润、本⽉新增客户
57//今天
58 DateTime.Now.Date.ToShortDateString();
59//昨天,就是今天的⽇期减⼀
60 DateTime.Now.AddDays(-1).ToShortDateString();
61//明天,同理,加⼀
62 DateTime.Now.AddDays(1).ToShortDateString();
63//本周(要知道本周的第⼀天就得先知道今天是星期⼏,从⽽得知本周的第⼀天就是⼏天前的那⼀天,要注意的是这⾥的每⼀周是从周⽇始⾄周六⽌
64 DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();
65 DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();
66//由于DayOfWeek返回的是数字的星期⼏,我们要把它转换成汉字⽅便我们阅读,有些⼈可能会⽤switch来⼀个⼀个地对照,其实不⽤那么⿇烦的
67string[] Day = new string[] { "星期⽇", "星期⼀", "星期⼆", "星期三", "星期四", "星期五", "星期六" };
68string day= Day[Convert.ToInt16(DateTime.Now.DayOfWeek)];
69//上周,同理,⼀个周是7天,上周就是本周再减去7天,下周也是⼀样
70 DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();
71 DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();
72//下周
73 DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();
74 DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();
75//本⽉,很多⼈都会说本⽉的第⼀天嘛肯定是1号,最后⼀天就是下个⽉⼀号再减⼀天。当然这是对的
76//⼀般的写法
77string oneDay = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1"; //第⼀天
78 DateTime.Parse(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1").AddMonths(1).AddDays(-1).ToShortDateString();//最后⼀天 79//巧⽤C#⾥ToString的字符格式化更简便
80 DateTime.Now.ToString("yyyy-MM-01");
81 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).AddDays(-1).ToShortDateString();
82//上个⽉,减去⼀个⽉份
83 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-1).ToShortDateString();
84 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
85//下个⽉,加去⼀个⽉份
86 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).ToShortDateString();
87 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(2).AddDays(-1).ToShortDateString();
88//7天后
89 DateTime.Now.Date.ToShortDateString();
90 DateTime.Now.AddDays(7).ToShortDateString();
91//7天前
92 DateTime.Now.AddDays(-7).ToShortDateString();
93 DateTime.Now.Date.ToShortDateString();
94//本年度,⽤ToString的字符格式化我们也很容易地算出本年度的第⼀天和最后⼀天
95 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString();
96 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToShortDateString();
97//上年度
98 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(-1).ToShortDateString();
99 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddDays(-1).ToShortDateString();
100//下年度
101 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).ToShortDateString();
102 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(2).AddDays(-1).ToShortDateString();
103//本季度,很多⼈都会觉得这⾥难点,需要写个长长的过程来判断。其实不⽤的,我们都知道⼀年四个季度,⼀个季度三个⽉
104//⾸先我们先把⽇期推到本季度第⼀个⽉,然后这个⽉的第⼀天就是本季度的第⼀天了
105 DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01");
106//同理,本季度的最后⼀天就是下季度的第⼀天减⼀
107 DateTime.Parse(DateTime.Now.AddMonths(22 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString(); 108//下季度,
109 DateTime.Now.AddMonths(22 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01");
110 DateTime.Parse(DateTime.Now.AddMonths(6 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
111//上季度
112 DateTime.Now.AddMonths(-22 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01");
113 DateTime.Parse(DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString(); View Code
1 DateTime dt = DateTime.Now;
2string result = null;
3 result = dt.ToString(); //2016-11-5 13:21:25
4 result = dt.ToFileTime().ToString(); //127756416859912816
5 result = dt.ToFileTimeUtc().ToString(); //127756704859912816
6 result = dt.ToLocalTime().ToString(); //2016-11-5 21:21:25
7 result = dt.ToLongDateString().ToString(); //2016年11⽉5⽇
8 result = dt.ToLongTimeString().ToString(); //13:21:25
9 result = dt.ToOADate().ToString(); //38661.5565508218
10 result = dt.ToShortDateString().ToString(); //2016-11-5
11 result = dt.ToShortTimeString().ToString(); //13:21
12 result = dt.ToUniversalTime().ToString(); //2016-11-5 5:21:25
13 result = dt.Year.ToString(); //2016
14 result = dt.Date.ToString(); //2016-11-5 0:00:00
15 result = dt.DayOfWeek.ToString(); //Saturday
16 result = dt.DayOfYear.ToString(); //309
17 result = dt.Hour.ToString(); //13
18 result = dt.Millisecond.ToString(); //441
19 result = dt.Minute.ToString(); //30
20 result = dt.Month.ToString(); //11
21 result = dt.Millisecond.ToString(); //28
22 result = dt.Ticks.ToString(); //632667942284412864
23 result = dt.TimeOfDay.ToString(); //13:30:28.4412864
24 result = dt.ToString(); //2016-11-5 13:47:04
25 result = dt.AddYears(1).ToString(); //2006-11-5 13:47:04
26 result = dt.AddDays(1.1).ToString(); //2016-11-6 16:11:04
27 result = dt.AddHours(1.1).ToString(); //2016-11-5 14:53:04
28 result = dt.AddMilliseconds(1.1).ToString(); //2016-11-5 13:47:04
29 result = dt.AddMonths(1).ToString(); //2016-12-5 13:47:04
30 result = dt.AddSeconds(1.1).ToString(); //2016-11-5 13:47:05
31 result = dt.AddMinutes(1.1).ToString(); //2016-11-5 13:48:10
32 result = dt.AddTicks(1000).ToString(); //2016-11-5 13:47:04
33 result = dt.CompareTo(dt).ToString(); //0
34
35 result = dt.Equals("2016-11-6 16:11:04").ToString(); //False
36 result = dt.Equals(dt).ToString(); //True
37 result = dt.GetHashCode().ToString(); //1474088234
38 result = dt.GetType().ToString(); //System.DateTime
39 result = dt.GetTypeCode().ToString(); //DateTime
40 result = dt.GetDateTimeFormats('s')[0].ToString(); //2016-11-05T14:06:25
41 result = dt.GetDateTimeFormats('t')[0].ToString(); //14:06
42 result = dt.GetDateTimeFormats('y')[0].ToString(); //2016年11⽉
43 result = dt.GetDateTimeFormats('D')[0].ToString(); //2016年11⽉5⽇
44 result = dt.GetDateTimeFormats('D')[1].ToString(); //2016 11 05
45 result = dt.GetDateTimeFormats('D')[2].ToString(); //星期六 2016 11 05
46 result = dt.GetDateTimeFormats('D')[3].ToString(); //星期六 2016年11⽉5⽇
47 result = dt.GetDateTimeFormats('M')[0].ToString(); //11⽉5⽇
48 result = dt.GetDateTimeFormats('f')[0].ToString(); //2016年11⽉5⽇ 14:06
49 result = dt.GetDateTimeFormats('g')[0].ToString(); //2016-11-5 14:06
50 result = dt.GetDateTimeFormats('r')[0].ToString(); //Sat, 05 Nov 2016 14:06:25 GMT
51 result = string.Format("{0:d}", dt); //2016-11-5
52 result = string.Format("{0:D}", dt); //2016年11⽉5⽇
53 result = string.Format("{0:f}", dt); //2016年11⽉5⽇ 14:23
54 result = string.Format("{0:F}", dt); //2016年11⽉5⽇ 14:23:23
55 result = string.Format("{0:g}", dt); //2016-11-5 14:23
56 result = string.Format("{0:G}", dt); //2016-11-5 14:23:23
57 result = string.Format("{0:M}", dt); //11⽉5⽇
58 result = string.Format("{0:R}", dt); //Sat, 05 Nov 2016 14:23:23 GMT
59 result = string.Format("{0:s}", dt); //2016-11-05T14:23:23
60 result = string.Format("{0:t}", dt); //14:23
61 result = string.Format("{0:T}", dt); //14:23:23
62 result = string.Format("{0:u}", dt); //2016-11-05 14:23:23Z
63 result = string.Format("{0:U}", dt); //2016年11⽉5⽇ 6:23:23
64 result = string.Format("{0:Y}", dt); //2016年11⽉
65 result = string.Format("{0}", dt); //2016-11-5 14:23:23?
66 result = string.Format("{0:yyyyMMddHHmmssffff}", dt);
View Code
1. y代表年份,注意是⼩写的y,⼤写的Y并不代表年份。
2. M表⽰⽉份。
3. d表⽰⽇期,注意D并不代表什么。
4. h或H表⽰⼩时,h⽤的是12⼩时制,H⽤的是24⼩时制。
5. m表⽰分钟。
6. s表⽰秒。注意S并不代表什么。
格式输出⽰例
年
y7string yy = DateTime.Now.ToString("y-MM")
yy="7-05"
yy07string yy = DateTime.Now.ToString("yy-MM")
yy="07-05"
yyy或更多的y1984string yy = DateTime.Now.ToString("yyyy");
yy="2007"
⽉
M 5.string mon = DateTime.Parse("1984-05-09")ToString("yyyy-M")
mon = "1984-5"
MM05.string mon = DateTime.Parse("1984-05-09")ToString("MM")
mon = "05"
MMM如果是中⽂版
的操作系统,
则会输出:五
⽉.
如果是英⽂操
作系统,则输
⼊⽉份前三个
字母的简写:
May string mon = DateTime.Parse("2006-07-01").ToString("MMM")英⽂版操作系统:Jul
中⽂版操作系统:七⽉
MMMM或更多的M如果是中⽂版
的操作系统,
则会输出:五
⽉.
如果是英⽂操
作系统,则输
⼊⽉份的全写string mon = DateTime.Parse("2006-07-01").ToString("MMM")英⽂版操作系统:July
中⽂版操作系统:七⽉
⽇期或星期
d9string dd= DateTime.Parse("1984-05-09")ToString("d")
dd= "9"
dd09string dd= DateTime.Parse("1984-05-09")ToString("dd")
dd= "09"
ddd如果是中⽂版
的操作系统,
则会输出星
期,如星期
三。.
如果是英⽂操
作系统,则输
出星期的简
写:如
Wed string dd = DateTime.Parse("2006-07-01").ToString("ddd")英⽂版操作系统:Wed
中⽂版操作系统:星期三
dddd或更多的d如果是中⽂版
的操作系统,
则会输出星
期,如星期
三。.
如果是英⽂操
作系统,则输
出星期:如
Wednesday string dd = DateTime.Parse("2006-07-01").ToString("dddd")英⽂版操作系统:Wednesday
中⽂版操作系统:星期三
⼩时
h⼩时范围:1-
12string hh = DateTime.Now.ToString(“h”); hh = 8
hh或更多的h⼩时范围:1-
12string hh = DateTime.Now.ToString(“hh”); hh = 08
H⼩时范围:0-
23string hh = DateTime.Now.ToString(“yyyy-H”); hh = 2006-8
HH或更多的H⼩时范围:0-
23string hh = DateTime.Now.ToString(“yyyy-HH”);
hh = 2006-08
string hh = DateTime.Pare(“2006-7-4 18:00:00”).ToString(“yyyy-HH”);
hh = 2006-18
分钟
m6string mm = DateTime.Now.ToString("yyyy-MM-dd-m");
mm = “2006-07-01-6”;
mm = “2006-07-01-06”;
秒
s6string mm = DateTime.Now.ToString("yyyy-MM-dd-s");
mm = “2006-07-01-6”;
ss或更多的s06string mm = DateTime.Now.ToString("yyyy-MM-dd-ss");
日期字符串是什么mm = “2006-07-01-06”;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论