• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

c#日期函数[string.Format----GetDateTimeFormats]格式

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

摘自:http://blog.csdn.net/xwdpepsi/article/details/6362124

 

DateTime dt = DateTime.Now;
Label1.Text = dt.ToString();//2005-11-5 13:21:25
Label2.Text = dt.ToFileTime().ToString();//127756416859912816
Label3.Text = dt.ToFileTimeUtc().ToString();//127756704859912816
Label4.Text = dt.ToLocalTime().ToString();//2005-11-5 21:21:25
Label5.Text = dt.ToLongDateString().ToString();//2005年11月5日
Label6.Text = dt.ToLongTimeString().ToString();//13:21:25
Label7.Text = dt.ToOADate().ToString();//38661.5565508218
Label8.Text = dt.ToShortDateString().ToString();//2005-11-5
Label9.Text = dt.ToShortTimeString().ToString();//13:21
Label10.Text = dt.ToUniversalTime().ToString();//2005-11-5 5:21:25
Label1.Text = dt.Year.ToString();//2005
Label2.Text = dt.Date.ToString();//2005-11-5 0:00:00
Label3.Text = dt.DayOfWeek.ToString();//Saturday
Label4.Text = dt.DayOfYear.ToString();//309
Label5.Text = dt.Hour.ToString();//13
Label6.Text = dt.Millisecond.ToString();//441
Label7.Text = dt.Minute.ToString();//30
Label8.Text = dt.Month.ToString();//11
Label9.Text = dt.Second.ToString();//28
Label10.Text = dt.Ticks.ToString();//632667942284412864
Label11.Text = dt.TimeOfDay.ToString();//13:30:28.4412864
Label1.Text = dt.ToString();//2005-11-5 13:47:04
Label2.Text = dt.AddYears(1).ToString();//2006-11-5 13:47:04
Label3.Text = dt.AddDays(1.1).ToString();//2005-11-6 16:11:04   1.1天相当于1天2.4小时即1天2小时24小时
Label4.Text = dt.AddHours(1.1).ToString();//2005-11-5 14:53:04
Label5.Text = dt.AddMilliseconds(1.1).ToString();//2005-11-5 13:47:04
Label6.Text = dt.AddMonths(1).ToString();//2005-12-5 13:47:04
Label7.Text = dt.AddSeconds(1.1).ToString();//2005-11-5 13:47:05
Label8.Text = dt.AddMinutes(1.1).ToString();//2005-11-5 13:48:10
Label9.Text = dt.AddTicks(1000).ToString();//2005-11-5 13:47:04
Label10.Text = dt.CompareTo(dt).ToString();//0
//Label11.Text = dt.Add(?).ToString();//问号为一个时间段
Label1.Text = dt.Equals("2005-11-6 16:11:04").ToString();//False
Label2.Text = dt.Equals(dt).ToString();//True
Label3.Text = dt.GetHashCode().ToString();//1474088234
Label4.Text = dt.GetType().ToString();//System.DateTime
Label5.Text = dt.GetTypeCode().ToString();//DateTime
 
GetDateTimeFormats()参数为char时可用“ d、D、f、F、g、G、M(或 m)、O(或 o)、R(或 r)、s、t、T、u、U 和 Y(或 y)
 

格式说明符

说明

示例

短日期模式。

.

2009 年 6 月 15 日下午 1:45: 30-> 2009 年 6 月 15 (EN-US)

2009 年 6 月 15 日下午 1:45: 30-> 2009 年 15 日 06 (fr FR)

2009 年 6 月 15 日下午 1:45: 30-> 2009/06 15 (ja JP)

长日期模式。

.

2009 年 6 月 15 日下午 1:45: 30-> 2009 年 6 月 15日日星期一,美国 (英语)

(ru-) RU

Juni 2009 年 (de DE)

完整日期/时间模式 (短时间)。

.

2009 年 6 月 15 日下午 1:45: 30-> 2009 年 6 月 15日日星期一,下午 1: 45 (EN-US)

2009 年 6 月 15 日下午 1:45: 30-> 书房 15 juni 2009 13:45 (sv SE)

2009 年 6 月 15 日下午 1:45: 30-> Δευτέρα,15 Ιουνίου 2009年 1:45 μμ (el-GR)

完整日期/时间模式 (长时间)。

.

2009 年 6 月 15 日下午 1:45: 30-> 2009 年 6 月 15日日星期一,下午 1:45:30 (EN-US)

2009 年 6 月 15 日下午 1:45: 30-> 书房 15 juni 2009 13:45:30 (sv SE)

2009 年 6 月 15 日下午 1:45: 30-> Δευτέρα,15 Ιουνίου 2009年 1:45:30 μμ (el-GR)

常规日期/时间模式 (短时间)。

.

2009 年 6 月 15 日下午 1:45: 30-> 2009 年 6 月 15 日下午 1:45 (EN-US)

2009 年 6 月 15 日下午 1:45: 30-> 2009 年 06 月 15 日 13:45 (es-ES)

2009 年 6 月 15 日下午 1:45: 30-> 2009/6/15 13:45 (中文 CN)

常规日期/时间模式 (长时间)。

.

2009 年 6 月 15 日下午 1:45: 30-> 2009 年 6 月 15 日下午 1:45:30 (EN-US)

2009 年 6 月 15 日下午 1:45: 30-> 2009 年 06 月 15 日 13:45:30 (es-ES)

2009 年 6 月 15 日下午 1:45: 30-> 2009/6/15 13:45:30 (中文 CN)

月/日模式。

.

2009 年 6 月 15 日下午 1:45: 30-> 6 月 15 (EN-US)

juni (da 深)

2009 年 6 月 15 日下午 1:45: 30-> 15 Juni (id 的 ID)

往返日期/时间模式。

.

2009 年 6 月 15 日下午 1:45: 30-> 2009-06-15T13:45:30.0900000

RFC1123 模式。

.

2009 年 6 月 15 日下午 1:45: 30-> 周一 15 6 月 2009 年 20:45:30 GMT

可排序日期/时间模式。

.

2009 年 6 月 15 日下午 1:45: 30-> 2009-06-15T13:45:30

短时间模式。

.

2009 年 6 月 15 日下午 1:45: 30-> 下午 1:45 (EN-US)

2009 年 6 月 15 日下午 1:45: 30-> 13:45 (hr HR)

2009 年 6 月 15 日下午 1:45: 30-> 01:45 م (AR-EG)

长时间模式。

.

2009 年 6 月 15 日下午 1:45: 30-> 下午 1:45:30 (EN-US)

2009 年 6 月 15 日下午 1:45: 30-> 13:45:30 (hr HR)

2009 年 6 月 15 日下午 1:45: 30-> 01:45:30 م (AR-EG)

通用的可排序日期/时间模式。

.

2009 年 6 月 15 日下午 1:45: 30-> 2009-06-15 20:45:30Z

通用完整日期/时间模式。

.

2009 年 6 月 15 日下午 1:45: 30-> 2009 年 6 月 15日日星期一,下午 8:45:30 (EN-US)

2009 年 6 月 15 日下午 1:45: 30-> 书房 15 juni 2009 20:45:30 (sv SE)

6/15/2009 1:45:30 PM -> Δευτέρα, 15 Ιουνίου 2009 8:45:30 μμ (el-GR)

年月模式。

.

2009 年 6 月 15 日下午 1:45: 30-> 2009 年 6 月,美国 (英语)

2009 年 6 月 15 日下午 1:45: 30-> juni 2009 (da 深)

2009 年 6 月 15 日下午 1:45: 30-> Juni 2009 年 (id 的 ID)

任何其他单个字符

未知的说明符。

FormatException.

 

Label1.Text = dt.GetDateTimeFormats('s')[0].ToString();//2005-11-05T14:06:25 
Label2.Text = dt.GetDateTimeFormats('t')[0].ToString();//14:06
Label3.Text = dt.GetDateTimeFormats('y')[0].ToString();//2005年11月
Label4.Text = dt.GetDateTimeFormats('D')[0].ToString();//2005年11月5日
Label5.Text = dt.GetDateTimeFormats('D')[1].ToString();//2005 11 05
Label6.Text = dt.GetDateTimeFormats('D')[2].ToString();//星期六 2005 11 05
Label7.Text = dt.GetDateTimeFormats('D')[3].ToString();//星期六 2005年11月5日
Label8.Text = dt.GetDateTimeFormats('M')[0].ToString();//11月5日
Label9.Text = dt.GetDateTimeFormats('f')[0].ToString();//2005年11月5日 14:06
Label10.Text = dt.GetDateTimeFormats('g')[0].ToString();//2005-11-5 14:06
Label11.Text = dt.GetDateTimeFormats('r')[0].ToString();//Sat, 05 Nov 2005 14:06:25 GMT
 
自定义日期和时间格式字符串:

格式说明符

描述

示例

一个月中的某一天(1 到 31)。

“d”自定义格式说明符。

6/1/2009 1:45:30 PM -> 1

6/15/2009 1:45:30 PM -> 15

“dd”

一个月中的某一天(01 到 31)。

“dd”自定义格式说明符。

6/1/2009 1:45:30 PM -> 01

6/15/2009 1:45:30 PM -> 15

“ddd”

一周中某天的缩写名称。

“ddd”自定义格式说明符。

6/15/2009 1:45:30 PM -> Mon (en-US)

6/15/2009 1:45:30 PM -> Пн (ru-RU)

(fr-FR)

“dddd”

一周中某天的完整名称。

“dddd”自定义格式说明符。

6/15/2009 1:45:30 PM -> Monday (en-US)

6/15/2009 1:45:30 PM -> понедельник (ru-RU)

6/15/2009 1:45:30 PM -> lundi (fr-FR)

“f”

日期和时间值的十分之几秒。

“f”自定义格式说明符。

6/15/2009 13:45:30.617 -> 6

6/15/2009 13:45:30.050 -> 0

“ff”

日期和时间值的百分之几秒。

“ff”自定义格式说明符。

6/15/2009 13:45:30.617 -> 61

6/15/2009 13:45:30.005 -> 00

“fff”

日期和时间值的毫秒。

“fff”自定义格式说明符。

6/15/2009 13:45:30.617 -> 617

6/15/2009 13:45:30.0005 -> 000

“ffff”

日期和时间值的万分之几秒。

“ffff”自定义格式说明符。

6/15/2009 13:45:30.6175 -> 6175

6/15/2009 13:45:30.00005 -> 0000

“fffff”

日期和时间值的十万分之几秒。

“fffff”自定义格式说明符。

6/15/2009 13:45:30.61754 -> 61754

6/15/2009 13:45:30.000005 -> 00000

“ffffff”

日期和时间值的百万分之几秒。

“ffffff”自定义格式说明符。

6/15/2009 13:45:30.617542 -> 617542

6/15/2009 13:45:30.0000005 -> 000000

“fffffff”

日期和时间值的千万分之几秒。

“fffffff”自定义格式说明符。

6/15/2009 13:45:30.6175425 -> 6175425

6/15/2009 13:45:30.0001150 -> 0001150

“F”

如果非零,则为日期和时间值的十分之几秒。

“F”自定义格式说明符。

6/15/2009 13:45:30.617 -> 6

6/15/2009 13:45:30.050 ->(无输出)

“FF”

如果非零,则为日期和时间值的百分之几秒。

“FF”自定义格式说明符。

6/15/2009 13:45:30.617 -> 61

6/15/2009 13:45:30.005 ->(无输出)

“FFF”

如果非零,则为日期和时间值的毫秒。

“FFF”自定义格式说明符。

6/15/2009 13:45:30.617 -> 617

6/15/2009 13:45:30.0005 ->(无输出)

“FFFF”

如果非零,则为日期和时间值的万分之几秒。

“FFFF”自定义格式说明符。

6/1/2009 13:45:30.5275 -> 5275

6/15/2009 13:45:30.00005 ->(无输出)

“FFFFF”

如果非零,则为日期和时间值的十万分之几秒。

“FFFFF”自定义格式说明符。

6/15/2009 13:45:30.61754 -> 61754

6/15/2009 13:45:30.000005 ->(无输出)

“FFFFFF”

如果非零,则为日期和时间值的百万分之几秒。

“FFFFFF”自定义格式说明符。

6/15/2009 13:45:30.617542 -> 617542

6/15/2009 13:45:30.0000005 ->(无输出)

“FFFFFFF”

如果非零,则为日期和时间值的千万分之几秒。

“FFFFFFF”自定义格式说明符。

6/15/2009 13:45:30.6175425 -> 6175425

6/15/2009 13:45:30.0001150 -> 000115

“g”、“gg”

时期或纪元。

“g”或“gg”自定义格式说明符。

6/15/2009 1:45:30 PM -> A.D.

“h”

采用 12 小时制的小时(从 1 到 12)。

“h”自定义格式说明符。

6/15/2009 1:45:30 AM -> 1

6/15/2009 1:45:30 PM -> 1

“hh”

采用 12 小时制的小时(从 01 到 12)。

“hh”自定义格式说明符。

6/15/2009 1:45:30 AM -> 01

6/15/2009 1:45:30 PM -> 01

“H”

采用 24 小时制的小时(从 0 到 23)。

“H”自定义格式说明符。

6/15/2009 1:45:30 AM -> 1

6/15/2009 1:45:30 PM -> 13

“HH”

采用 24 小时制的小时(从 00 到 23)。

“HH”自定义格式说明符。

6/15/2009 1:45:30 AM -> 01

6/15/2009 1:45:30 PM -> 13

“K”

时区信息。

“K”自定义格式说明符。

DateTime 值:

6/15/2009 1:45:30 PM(未指定类型)->

6/15/2009 1:45:30 PM(UTC 类型)-> Z

6/15/2009 1:45:30 PM(本地类型)-> -07:00(取决于本地计算机设置)

DateTimeOffset 值:

6/15/2009 1:45:30 AM -07:00 --> -07:00

6/15/2009 8:45:30 AM +00:00 --> +00:00

“m”

分钟(0 到 59)。

“m”自定义格式说明符。

6/15/2009 1:09:30 AM -> 9

6/15/2009 1:09:30 PM -> 9

“mm”

分钟(00 到 59)。

“mm”自定义格式说明符。

6/15/2009 1:09:30 AM -> 09

6/15/2009 1:09:30 PM -> 09

“M”

月份(1 到 12)。

“M”自定义格式说明符。

6/15/2009 1:45:30 PM -> 6

“MM”

月份(01 到 12)。

“MM”自定义格式说明符。

6/15/2009 1:45:30 PM -> 06

“MMM”

月份的缩写名称。

“MMM”自定义格式说明符。

6/15/2009 1:45:30 PM -> Jun (en-US)

6/15/2009 1:45:30 PM -> juin (fr-FR)

6/15/2009 1:45:30 PM -> Jun (zu-ZA)

“MMMM”

月份的完整名称。

“MMMM”自定义格式说明符。

6/15/2009 1:45:30 PM -> June (en-US)

6/15/2009 1:45:30 PM -> juni (da-DK)

6/15/2009 1:45:30 PM -> uJuni (zu-ZA)

“s”

秒(0 到 59)。

“s”自定义格式说明符。

6/15/2009 1:45:09 PM -> 9

“ss”

秒(00 到 59)。

“ss”自定义格式说明符。

6/15/2009 1:45:09 PM -> 09

“t”

AM/PM 指示符的第一个字符。

“t”自定义格式说明符。

6/15/2009 1:45:30 PM -> P (en-US)

6/15/2009 1:45:30 PM -> 午 (ja-JP)

6/15/2009 1:45: 30 PM - > (fr FR)

“tt”

AM/PM 指示符。

“tt”自定义格式说明符。

6/15/2009 1:45:30 PM -> PM (en-US)

6/15/2009 1:45:30 PM -> 午後 (ja-JP)

6/15/2009 1:45: 30 PM - > (fr FR)

“y”

年份(0 到 99)。

“y”自定义格式说明符。

1/1/0001 12:00:00 AM -> 1

1/1/0900 12:00:00 AM -> 0

1/1/1900 12:00:00 AM -> 0

6/15/2009 1:45:30 PM -> 9

“yy”

年份(00 到 99)。

“yy”自定义格式说明符。

1/1/0001 12:00:00 AM -> 01

1/1/0900 12:00:00 AM -> 00

1/1/1900 12:00:00 AM -> 00

6/15/2009 1:45:30 PM -> 09

“yyy”

年份(最少三位数字)。

“yyy”自定义格式说明符。

1/1/0001 12:00:00 AM -> 001

1/1/0900 12:00:00 AM -> 900

1/1/1900 12:00:00 AM -> 1900

6/15/2009 1:45:30 PM -> 2009

“yyyy”

由四位数字表示的年份。

“yyyy”自定义格式说明符。

1/1/0001 12:00:00 AM -> 0001

1/1/0900 12:00:00 AM -> 0900

1/1/1900 12:00:00 AM -> 1900

6/15/2009 1:45:30 PM -> 2009

“yyyyy”

由五位数字表示的年份。

“yyyyy”自定义格式说明符。

1/1/0001 12:00:00 AM -> 00001

6/15/2009 1:45:30 PM -> 02009

“z”

相对于 UTC 的小时偏移量,无前导零。

“z”自定义格式说明符。

6/15/2009 1:45:30 PM -07:00 -> -7

“zz”

相对于 UTC 的小时偏移量,带有表示一位数值的前导零。

“zz”自定义格式说明符。

6/15/2009 1:45:30 PM -07:00 -> -07

“zzz”

相对于 UTC 的小时和分钟偏移量。

“zzz”自定义格式说明符。

6/15/2009 1:45:30 PM -07:00 -> -07:00

“:”

时间分隔符。

“:”自定义格式说明符。

6/15/2009 1:45:30 PM -> : (en-US)

(it-IT)

6/15/2009 1:45:30 PM -> : (ja-JP)

“/”

日期分隔符。

“/”自定义格式说明符。

6/15/2009 1:45:30 PM -> / (en-US)

6/15/2009 1:45:30 PM -> - (ar-DZ)

(tr-TR)

字符串'

文本字符串分隔符。

6/15/2009 1:45:30 PM ('arr:' h:m t) -> arr: 1:45 P

%

将下面的字符定义为自定义格式说明符。

使用单个自定义格式说明符。

6/15/2009 1:45:30 PM (%h) -> 1

\

转义字符。

6/15/2009 1:45:30 PM (h \h) -> 1 h

任何其他字符

字符将复制到未更改的结果字符串。

使用转义字符。

6/15/2009 1:45:30 AM (arr hh:mm t) -> arr 01:45 A

DateTimeOffset 值一起使用无关。

Label1.Text = string.Format("{0:d}",dt);//2005-11-5
Label2.Text = string.Format("{0:D}",dt);//2005年11月5日
Label3.Text = string.Format("{0:f}",dt);//2005年11月5日 14:23
Label4.Text = string.Format("{0:F}",dt);//2005年11月5日 14:23:23
Label5.Text = string.Format("{0:g}",dt);//2005-11-5 14:23
Label6.Text = string.Format("{0:G}",dt);//2005-11-5 14:23:23
Label7.Text = string.Format("{0:M}",dt);//11月5日
Label8.Text = string.Format("{0:R}",dt);//Sat, 05 Nov 2005 14:23:23 GMT
Label9.Text = string.Format("{0:s}",dt);//2005-11-05T14:23:23
Label10.Text = string.Format("{0:t}",dt);//14:23
Label11.Text = string.Format("{0:T}",dt);//14:23:23
Label12.Text = string.Format("{0:u}",dt);//2005-11-05 14:23:23Z
Label13.Text = string.Format("{0:U}",dt);//2005年11月5日 6:23:23
Label14.Text = string.Format("{0:Y}",dt);//2005年11月
Label15.Text = string.Format("{0}",dt);//2005-11-5 14:23:23?
Label16.Text = string.Format("{0:yyyyMMddHHmmssffff}",dt);   
       //yyyymm等可以设置,比如Label16.Text = string.Format("{0:yyyyMMdd}",dt);

DateTime.ToString()函数有四个重载。一般用得多的就是不带参数的那个了。殊不知,DateTime.ToString(string format)功能更强大,能输出不同格式的日期。以下把一些情况罗列出来,供大家参考。有些在MSDN上有的就没有列出来了。

1.         y代表年份,注意是小写的y,大写的Y并不代表年份。

2.         M表示月份。

3.         d表示日期,注意D并不代表什么。

4.         hH表示小时,h用的是12小时制,H用的是24小时制。

5.         m表示分钟。

6.         s表示秒。注意S并不代表什么。

 

格式

输出

示例

y

7

string yy = DateTime.Now.ToString("y-MM")

yy="7-05"

yy

07

string yy = DateTime.Now.ToString("yy-MM")

yy="07-05"

yyy或更多的y

1984

string yy = DateTime.Now.ToString("yyyy");

yy="2007"

M

5.

string mon = DateTime.Parse("1984-05-09")ToString("yyyy-M")

mon = "1984-5"

MM

05.

string mon = DateTime.Parse("1984-05-09")ToString("M")

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

中文版操作系统:七月

日期或星期

d

9


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#对Excel的一些操作发布时间:2022-07-14
下一篇:
c#调用word文件发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap