C#时间处理函数

来源:互联网 发布:js控制animation 停止 编辑:程序博客网 时间:2024/06/05 13:28

Asp.net中的日期处理函数
//2007年4月24日
this.TextBox6.Text = System.DateTime.Now.ToString("D");
//2007-4-24
this.TextBox7.Text = System.DateTime.Now.ToString("d");

//2007年4月24日 16:30:15
this.TextBox8.Text = System.DateTime.Now.ToString("F");
//2007年4月24日 16:30
this.TextBox9.Text = System.DateTime.Now.ToString("f");

//2007-4-24 16:30:15
this.TextBox10.Text = System.DateTime.Now.ToString("G");
//2007-4-24 16:30
this.TextBox11.Text = System.DateTime.Now.ToString("g");

//16:30:15
this.TextBox12.Text = System.DateTime.Now.ToString("T");
//16:30
this.TextBox13.Text = System.DateTime.Now.ToString("t");

//2007年4月24日 8:30:15
this.TextBox14.Text = System.DateTime.Now.ToString("U");
//2007-04-24 16:30:15Z
this.TextBox15.Text = System.DateTime.Now.ToString("u");

//4月24日
this.TextBox16.Text = System.DateTime.Now.ToString("m");
this.TextBox16.Text = System.DateTime.Now.ToString("M");
//Tue, 24 Apr 2007 16:30:15 GMT
this.TextBox17.Text = System.DateTime.Now.ToString("r");
this.TextBox17.Text = System.DateTime.Now.ToString("R");
//2007年4月
this.TextBox19.Text = System.DateTime.Now.ToString("y");
this.TextBox19.Text = System.DateTime.Now.ToString("Y");
//2007-04-24T15:52:19.1562500+08:00
this.TextBox20.Text = System.DateTime.Now.ToString("o");
this.TextBox20.Text = System.DateTime.Now.ToString("O");
//2007-04-24T16:30:15
this.TextBox18.Text = System.DateTime.Now.ToString("s");
//2007-04-24 15:52:19
this.TextBox21.Text = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
//2007年04月24 15时56分48秒
this.TextBox22.Text = System.DateTime.Now.ToString("yyyy年MM月dd HH时mm分ss秒");


//星期二, 四月 24 2007
this.TextBox1.Text = System.DateTime.Now.ToString("dddd, MMMM dd yyyy");
//二, 四月 24 '07
this.TextBox2.Text = System.DateTime.Now.ToString("ddd, MMM d \"'\"yy");
//星期二, 四月 24
this.TextBox3.Text = System.DateTime.Now.ToString("dddd, MMMM dd");
//4-07
this.TextBox4.Text = System.DateTime.Now.ToString("M/yy");
//24-04-07
this.TextBox5.Text = System.DateTime.Now.ToString("dd-MM-yy");


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

字符型转换 转为字符串
12345.ToString("n"); //生成 12,345.00
12345.ToString("C"); //生成 ¥12,345.00
12345.ToString("e"); //生成 1.234500e+004
12345.ToString("f4"); //生成 12345.0000
12345.ToString("x"); //生成 3039 (16进制)
12345.ToString("p"); //生成 1,234,500

标准数字格式字符串的定义如下:
格式说明符 名称 说明

C 或 c
货币
数字转换为表示货币金额的字符串。转换由用于格式化数字的 NumberFormatInfo 对象的货币格式信息控制。精度说明符指示所需的小数位数。如果省略精度说明符,则使用 NumberFormatInfo 给定的默认货币精度。

D 或 d
十进制数
只有整型才支持此格式。数字转换为十进制数字 (0-9) 的字符串,如果数字为负,则前面加负号。精度说明符指示结果字符串中所需的最少数字个数。如果需要的话,则用零填充该数字的左侧,以产生精度说明符给定的数字个数。

E 或 e
科学计数法(指数)
数字转换为“-d.ddd…E+ddd”或“-d.ddd…e+ddd”形式的字符串,其中每个“d”表示一个数字 (0-9)。如果该数字为负,则该字符串以减号开头。小数点前总有一个数字。精度说明符指示小数点后所需的位数。如果省略精度说明符,则使用默认值,即小数点后六位数字。格式说明符的大小写指示在指数前加前缀“E”还是“e”。指数总是由正号或负号以及最少三位数字组成。如果需要,用零填充指数以满足最少三位数字的要求。

F 或 f
固定点
数字转换为“-ddd.ddd…”形式的字符串,其中每个“d”表示一个数字 (0-9)。如果该数字为负,则该字符串以减号开头。精度说明符指示所需的小数位数。如果忽略精度说明符,则使用 NumberFormatInfo 给定的默认数值精度。

G 或 g
常规
根据数字类型以及是否存在精度说明符,数字会转换为固定点或科学记数法的最紧凑形式。如果精度说明符被省略或为零,则数字的类型决定默认精度,如下表所示。

Byte 或 SByte:3

Int16 或 UInt16:5

Int32 或 UInt32:10

Int64 或 UInt64:19

Single:7

Double:15

Decimal:29

如果用科学记数法表示数字时指数大于 -5 而且小于精度说明符,则使用固定点表示法;否则使用科学记数法。如果要求有小数点,并且忽略尾部零,则结果包含小数点。如果精度说明符存在,并且结果的有效数字位数超过指定精度,则通过舍入删除多余的尾部数字。使用科学记数法时,如果格式说明符是“G”,结果的指数带前缀“E”;如果格式说明符是“g”,结果的指数带前缀“e”。

上述规则有一个例外:如果数字是 Decimal 而且省略精度说明符时。在这种情况下总使用固定点表示法并保留尾部零。

N 或 n
数字
数字转换为“-d,ddd,ddd.ddd…”形式的字符串,其中每个“d”表示一个数字 (0-9)。如果该数字为负,则该字符串以减号开头。小数点左边每三个数字之间插入一个千位分隔符。精度说明符指示所需的小数位数。如果忽略精度说明符,则使用 NumberFormatInfo 给定的默认数值精度。

P 或 p
百分比
数字转换为由 NumberFormatInfo.PercentNegativePattern 属性或 NumberFormatInfo.PercentPositivePattern 属性定义的、表示百分比的字符串。如果数字为负,则产生的字符串由 PercentNegativePattern 定义并以负号开头。已转换的数字乘以 100 以表示为百分比。精度说明符指示所需的小数位数。如果省略精度说明符,则使用 NumberFormatInfo 给定的默认数值精度。

R 或 r
往返过程
往返过程说明符保证转换为字符串的数值再次被分析为相同的数值。使用此说明符格式化数值时,首先使用常规格式对其进行测试:Double 使用 15 位精度,Single 使用 7 位精度。如果此值被成功地分析回相同的数值,则使用常规格式说明符对其进行格式化。但是,如果此值未被成功地分析为相同数值,则它这样格式化:Double 使用 17 位精度,Single 使用 9 位精度。虽然精度说明符可以追加到往返过程格式说明符,但它将被忽略。使用此说明符时,往返过程优先于精度。此格式仅受浮点型支持。

X 或 x
十六进制数
数字转换为十六进制数字的字符串。格式说明符的大小写指示对大于 9 的十六进制数字使用大写字符还是小写字符。例如,使用“X”产生“ABCDEF”,使用“x”产生“abcdef”。精度说明符指示结果字符串中所需的最少数字个数。如果需要的话,则用零填充该数字的左侧,以产生精度说明符给定的数字个数。只有整型才支持此格式。

在msdn中搜索“标准数字格式字符串”可得到

3、使用System.Math.Round函数可以指定小数位数。

 

###################################################################################

C#时间格式大全时间函数大全

 [csharp]view plaincopy

1        有时候我们要对时间进行转换,达到不同的显示效果 

2          

3        默认格式为:2005-6-6 14:33:34 

4          

5        如果要换成成200506,06-2005,2005-6-6或更多的该怎么办呢? 

6          

7          

8        我们要用到

9          

10     DateTime.ToString的方法(String, IFormatProvider)  

11       

12     using System; 

13       

14     using System.Globalization; 

15       

16       

17     Stringformat="D"; 

18       

19     DateTimedate=DataTime,Now; 

20       

21     Response.Write(date.ToString(format,DateTimeFormatInfo.InvariantInfo)); 

22       

23     结果输出Thursday, June 16, 2005 

24       

25       

26     参数format格式详细用法: 

27       

28     格式字符            关联属性/说明 

29       

30     d                         ShortDatePattern  

31       

32     D                       LongDatePattern  

33       

34     f                         完整日期和时间(长日期和短时间) 

35       

36     F                        FullDateTimePattern(长日期和长时间) 

37       

38     g                         常规(短日期和短时间) 

39       

40     G                        常规(短日期和长时间) 

41       

42     mM                 MonthDayPattern  

43       

44     rR                   FC1123Pattern  

45       

46     s                         使用当地时间的 SortableDateTimePattern(基于 ISO 8601 

47       

48     t                         ShortTimePattern  

49       

50     T                        LongTimePattern  

51       

52     u                         UniversalSortableDateTimePattern用于显示通用时间的格式 

53       

54     U                        使用通用时间的完整日期和时间(长日期和长时间) 

55       

56     yY                   YearMonthPattern  

57       

58       

59     下表列出了可被合并以构造自定义模式的模式。 

60       

61     这些模式是区分大小写的;例如,识别MM,但不识别mm 

62       

63     如果自定义模式包含空白字符或用单引号括起来的字符, 

64       

65     则输出字符串页也将包含这些字符

66       

67     未定义为格式模式的一部分或未定义为格式字符的字符按其原义复制。 

68       

69       

70     格式模式     说明 

71       

72     d                  月中的某一天。一位数的日期没有前导零。 

73       

74     dd                月中的某一天。一位数的日期有一个前导零。 

75       

76     ddd              周中某天的缩写名称,在 AbbreviatedDayNames中定义。 

77       

78     dddd            周中某天的完整名称,在 DayNames中定义。 

79       

80     M                月份数字。一位数的月份没有前导零。 

81       

82     MM             月份数字。一位数的月份有一个前导零。 

83       

84     MMM          月份的缩写名称,在 AbbreviatedMonthNames中定义。 

85       

86     MMMM       月份的完整名称,在 MonthNames中定义。 

87       

88     y                  不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。 

89       

90     yy                不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。 

91       

92     yyyy            包括纪元的四位数的年份。 

93       

94     gg                时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。 

95       

96     h                  12 小时制的小时。一位数的小时数没有前导零。 

97       

98     hh                12 小时制的小时。一位数的小时数有前导零。 

99       

100  H                 24 小时制的小时。一位数的小时数没有前导零。 

101    

102  HH                     24 小时制的小时。一位数的小时数有前导零。 

103    

104  m                 分钟。一位数的分钟数没有前导零。 

105    

106  mm              分钟。一位数的分钟数有一个前导零。 

107    

108  s                  秒。一位数的秒数没有前导零。 

109    

110  ss                 秒。一位数的秒数有一个前导零。 

111    

112  f                  秒的小数精度为一位。其余数字被截断。 

113    

114  ff                 秒的小数精度为两位。其余数字被截断。 

115    

116  fff                秒的小数精度为三位。其余数字被截断。 

117    

118  ffff                     秒的小数精度为四位。其余数字被截断。 

119    

120  fffff             秒的小数精度为五位。其余数字被截断。 

121    

122  ffffff            秒的小数精度为六位。其余数字被截断。 

123    

124  fffffff           秒的小数精度为七位。其余数字被截断。 

125    

126  t                   AMDesignator PMDesignator中定义的 AM/PM指示项的第一个字符(如果存在)。 

127    

128  tt                  AMDesignator PMDesignator中定义的 AM/PM指示项(如果存在)。z                    时区偏移量(+-后面仅跟小时)。一位数的小时数没有前导零。例如,太平洋标准时间是-8 

129    

130  zz                时区偏移量(+-后面仅跟小时)。一位数的小时数有前导零。例如,太平洋标准时间是-08 

131    

132  zzz              完整时区偏移量(+-后面跟有小时和分钟)。一位数的小时数和分钟数有前导零。例如,太平洋标准时间是-08:00 

133    

134  :                   TimeSeparator中定义的默认时间分隔符。 

135    

136  /                   DateSeparator中定义的默认日期分隔符。 

137    

138  % c              其中 c是格式模式(如果单独使用)。如果格式模式与原义字符或其他格式模式合并,则可以省略%字符。 

139    

140  \ c                其中 c是任意字符。照原义显示字符。若要显示反斜杠字符,请使用\\ 

141    

142    

143   只有上面第二个表中列出的格式模式才能用于创建自定义模式; 

144    

145  在第一个表中列出的标准格式字符不能用于创建自定义模式。 

146    

147  自定义模式的长度至少为两个字符; 

148    

149  例如,DateTime.ToString("d")返回 DateTime值; 

150    

151  d是标准短日期模式。 

152    

153  DateTime.ToString("%d")返回月中的某天; 

154    

155  %d是自定义模式

156    

157  DateTime.ToString("d ")返回后面跟有一个空白字符的月中的某天; 

158    

159  d是自定义模式。 

160    

161  比较方便的是,上面的参数可以随意组合,并且不会出错,多试试,肯定会找到你要的时间格式如要得到200506这样格式的时间 

162    

163  可以这样写: date.ToString("yyyyMM", DateTimeFormatInfo.InvariantInfo)如此类推 

164    

165  DateTime dt= DateTime.Now; 

166  Label1.Text= dt.ToString();//2005-11-5 13:21:25 

167  Label2.Text= dt.ToFileTime().ToString();//127756416859912816 

168  Label3.Text= dt.ToFileTimeUtc().ToString();//127756704859912816 

169  Label4.Text= dt.ToLocalTime().ToString();//2005-11-521:21:25 

170  Label5.Text= dt.ToLongDateString().ToString();//2005115 

171  Label6.Text= dt.ToLongTimeString().ToString();//13:21:25 

172  Label7.Text= dt.ToOADate().ToString();//38661.5565508218 

173  Label8.Text= dt.ToShortDateString().ToString();//2005-11-5 

174  Label9.Text= dt.ToShortTimeString().ToString();//13:21 

175  Label10.Text= dt.ToUniversalTime().ToString();//2005-11-5 5:21:25 

176  ?2005-11-513:30:28.4412864 

177  Label1.Text= dt.Year.ToString();//2005 

178  Label2.Text= dt.Date.ToString();//2005-11-5 0:00:00 

179  Label3.Text= dt.DayOfWeek.ToString();//Saturday 

180  Label4.Text= dt.DayOfYear.ToString();//309 

181  Label5.Text= dt.Hour.ToString();//13 

182  Label6.Text= dt.Millisecond.ToString();//441 

183  Label7.Text= dt.Minute.ToString();//30 

184  Label8.Text= dt.Month.ToString();//11 

185  Label9.Text= dt.Second.ToString();//28 

186  Label10.Text= dt.Ticks.ToString();//632667942284412864 

187  Label11.Text= dt.TimeOfDay.ToString();//13:30:28.4412864 

188  Label1.Text= dt.ToString();//2005-11-5 13:47:04 

189  Label2.Text= dt.AddYears(1).ToString();//2006-11-513:47:04 

190  Label3.Text= dt.AddDays(1.1).ToString();//2005-11-616:11:04 

191  Label4.Text= dt.AddHours(1.1).ToString();//2005-11-514:53:04 

192  Label5.Text= dt.AddMilliseconds(1.1).ToString();//2005-11-5 13:47:04 

193  Label6.Text= dt.AddMonths(1).ToString();//2005-12-513:47:04 

194  Label7.Text= dt.AddSeconds(1.1).ToString();//2005-11-513:47:05 

195  Label8.Text= dt.AddMinutes(1.1).ToString();//2005-11-513:48:10 

196  Label9.Text= dt.AddTicks(1000).ToString();//2005-11-513:47:04 

197  Label10.Text= dt.CompareTo(dt).ToString();//0 

198  //Label11.Text= dt.Add(?).ToString();//问号为一个时间段 

199  Label1.Text= dt.Equals("2005-11-6 16:11:04").ToString();//False 

200  Label2.Text= dt.Equals(dt).ToString();//True 

201  Label3.Text= dt.GetHashCode().ToString();//1474088234 

202  Label4.Text= dt.GetType().ToString();//System.DateTime 

203  Label5.Text= dt.GetTypeCode().ToString();//DateTime 

204  Label1.Text= dt.GetDateTimeFormats('s')[0].ToString();//2005-11-05T14:06:25 

205  Label2.Text= dt.GetDateTimeFormats('t')[0].ToString();//14:06 

206  Label3.Text= dt.GetDateTimeFormats('y')[0].ToString();//200511 

207  Label4.Text= dt.GetDateTimeFormats('D')[0].ToString();//2005115 

208  Label5.Text= dt.GetDateTimeFormats('D')[1].ToString();//2005 11 05 

209  Label6.Text= dt.GetDateTimeFormats('D')[2].ToString();//星期六 2005 11 05 

210  Label7.Text= dt.GetDateTimeFormats('D')[3].ToString();//星期六 2005115 

211  Label8.Text= dt.GetDateTimeFormats('M')[0].ToString();//115 

212  Label9.Text= dt.GetDateTimeFormats('f')[0].ToString();//2005115 14:06 

213  Label10.Text= dt.GetDateTimeFormats('g')[0].ToString();//2005-11-5 14:06 

214  Label11.Text= dt.GetDateTimeFormats('r')[0].ToString();//Sat, 05 Nov 2005 14:06:25 GMT 

215  Label1.Text=?string.Format("{0:d}",dt);//2005-11-5 

216  Label2.Text=?string.Format("{0:D}",dt);//2005115 

217  Label3.Text=?string.Format("{0:f}",dt);//2005115 14:23 

218  Label4.Text=?string.Format("{0:F}",dt);//2005115 14:23:23 

219  Label5.Text=?string.Format("{0:g}",dt);//2005-11-5 14:23 

220  Label6.Text=?string.Format("{0:G}",dt);//2005-11-5 14:23:23 

221  Label7.Text=?string.Format("{0:M}",dt);//115 

222  Label8.Text=?string.Format("{0:R}",dt);//Sat, 05 Nov 2005 14:23:23 GMT 

223  Label9.Text=?string.Format("{0:s}",dt);//2005-11-05T14:23:23 

224  Label10.Text=string.Format("{0:t}",dt);//14:23 

225  Label11.Text=string.Format("{0:T}",dt);//14:23:23 

226  Label12.Text=string.Format("{0:u}",dt);//2005-11-05 14:23:23Z 

227  Label13.Text=string.Format("{0:U}",dt);//2005115 6:23:23 

228  Label14.Text=string.Format("{0:Y}",dt);//200511 

229  Label15.Text=string.Format("",dt);//2005-11-5 14:23:23? 

230  Label16.Text=string.Format("{0:yyyyMMddHHmmssffff}",dt);//yyyymm等可以设置,比如Label16.Text =string.Format("{0:yyyyMMdd}",dt); 

 

 

原创粉丝点击