当前位置: 代码迷 >> 综合 >> C# DataTime 日期时间转换
  详细解决方案

C# DataTime 日期时间转换

热度:10   发布时间:2024-01-15 21:51:29.0
  1. 字符型转换为字符串  
  2. // C 货币   
  3. 2.5.ToString("C"); // ¥2.50   
  4. // D 10进制数   
  5. 25.ToString("D5"); // 25000   
  6. // E 科学型   
  7. 25000.ToString("E"); // 2.500000E+005   
  8. // F 固定点   
  9. 25.ToString("F2"); // 25.00   
  10. // G 常规   
  11. 2.5.ToString("G"); // 2.5   
  12. // N 数字   
  13. 2500000.ToString("N"); // 2,500,000.00   
  14. // X 16进制   
  15. 255.ToString("X"); // FF  
  16.   
  17. // C# 日期格式   
  18. DateTime dt = DateTime.Now;  
  19. dt.ToString();//2005-11-5 13:21:25   
  20. dt.ToFileTime().ToString();//127756416859912816   
  21. dt.ToFileTimeUtc().ToString();//127756704859912816   
  22. dt.ToLocalTime().ToString();//2005-11-5 21:21:25   
  23. dt.ToLongDateString().ToString();//2005年11月5日   
  24. dt.ToLongTimeString().ToString();//13:21:25   
  25. dt.ToOADate().ToString();//38661.5565508218   
  26. dt.ToShortDateString().ToString();//2005-11-5   
  27. dt.ToShortTimeString().ToString();//13:21   
  28. dt.ToUniversalTime().ToString();//2005-11-5 5:21:25   
  29. dt.Year.ToString();//2005   
  30. dt.Date.ToString();//2005-11-5 0:00:00   
  31. dt.DayOfWeek.ToString();//Saturday   
  32. dt.DayOfYear.ToString();//309   
  33. dt.Hour.ToString();//13   
  34. dt.Millisecond.ToString();//441   
  35. dt.Minute.ToString();//30   
  36. dt.Month.ToString();//11   
  37. dt.Second.ToString();//28   
  38. dt.Ticks.ToString();//632667942284412864   
  39. dt.TimeOfDay.ToString();//13:30:28.4412864   
  40. dt.ToString();//2005-11-5 13:47:04   
[csharp]  view plain copy
  1.   
[csharp]  view plain copy
  1. dt.AddYears(1).ToString();//2006-11-5 13:47:04   
  2. dt.AddDays(1.1).ToString();//2005-11-6 16:11:04   
  3. dt.AddHours(1.1).ToString();//2005-11-5 14:53:04   
  4. dt.AddMilliseconds(1.1).ToString();//2005-11-5 13:47:04   
  5. dt.AddMonths(1).ToString();//2005-12-5 13:47:04   
  6. dt.AddSeconds(1.1).ToString();//2005-11-5 13:47:05   
  7. dt.AddMinutes(1.1).ToString();//2005-11-5 13:48:10   
  8. dt.AddTicks(1000).ToString();//2005-11-5 13:47:04   
  9. dt.CompareTo(dt).ToString();//0   
  10. dt.Add(?).ToString();//问号为一个时间段   
  11. dt.Equals("2005-11-6 16:11:04").ToString();//False   
  12. dt.Equals(dt).ToString();//True   
  13. dt.GetHashCode().ToString();//1474088234   
  14. dt.GetType().ToString();//System.DateTime   
  15. dt.GetTypeCode().ToString();//DateTime   
  16.      
  17. dt.GetDateTimeFormats('s')[0].ToString();//2005-11-05T14:06:25   
  18. dt.GetDateTimeFormats('t')[0].ToString();//14:06   
  19. dt.GetDateTimeFormats('y')[0].ToString();//2005年11月   
  20. dt.GetDateTimeFormats('D')[0].ToString();//2005年11月5日   
  21. dt.GetDateTimeFormats('D')[1].ToString();//2005 11 05   
  22. dt.GetDateTimeFormats('D')[2].ToString();//星期六 2005 11 05   
  23. dt.GetDateTimeFormats('D')[3].ToString();//星期六 2005年11月5日   
  24. dt.GetDateTimeFormats('M')[0].ToString();//11月5日   
  25. dt.GetDateTimeFormats('f')[0].ToString();//2005年11月5日 14:06   
  26. dt.GetDateTimeFormats('g')[0].ToString();//2005-11-5 14:06   
  27. dt.GetDateTimeFormats('r')[0].ToString();//Sat, 05 Nov 2005 14:06:25 GMT  
[csharp]  view plain copy
  1. string.Format("{0:d}",dt);//2005-11-5   
  2. string.Format("{0:D}",dt);//2005年11月5日   
  3. string.Format("{0:f}",dt);//2005年11月5日 14:23   
  4. string.Format("{0:F}",dt);//2005年11月5日 14:23:23   
  5. string.Format("{0:g}",dt);//2005-11-5 14:23   
  6. string.Format("{0:G}",dt);//2005-11-5 14:23:23   
  7. string.Format("{0:M}",dt);//11月5日   
  8. string.Format("{0:R}",dt);//Sat, 05 Nov 2005 14:23:23 GMT   
  9. string.Format("{0:s}",dt);//2005-11-05T14:23:23   
  10. string.Format("{0:t}",dt);//14:23   
  11. string.Format("{0:T}",dt);//14:23:23   
  12. string.Format("{0:u}",dt);//2005-11-05 14:23:23Z   
  13. string.Format("{0:U}",dt);//2005年11月5日 6:23:23   
  14. string.Format("{0:Y}",dt);//2005年11月   
  15. string.Format("{0}",dt);//2005-11-5 14:23:23  
  16. string.Format("{0:yyyyMMddHHmmssffff}",dt);  
[csharp]  view plain copy
  1.   
[csharp]  view plain copy
  1. <pre name="code" class="csharp">System.DateTime currentTime=new System.DateTime();   
  2. //1 取当前年月日时分秒   
  3. currentTime=System.DateTime.Now;   
  4. //2 取当前年   
  5. int 年=currentTime.Year;   
  6. //3 取当前月   
  7. int 月=currentTime.Month;   
  8. //4 取当前日   
  9. int 日=currentTime.Day;   
  10. //5 取当前时   
  11. int 时=currentTime.Hour;   
  12. //6 取当前分   
  13. int 分=currentTime.Minute;   
  14. //7 取当前秒   
  15. int 秒=currentTime.Second;   
  16. //8 取当前毫秒   
  17. int 毫秒=currentTime.Millisecond;   
  18. (变量可用中文)  
  19. //9 取中文日期显示——年月日时分   
  20. string strY=currentTime.ToString("f"); //不显示秒  
  21. //10 取中文日期显示_年月   
  22. string strYM=currentTime.ToString("y");  
  23. //11 取中文日期显示_月日   
  24. string strMD=currentTime.ToString("m");  
  25. 12 取中文年月日   
  26. string strYMD=currentTime.ToString("D");  
  27. //13 取当前时分,格式为:14:24   
  28. string strT=currentTime.ToString("t");  
  29. //14 取当前时间,格式为:2003-09-23T14:46:48   
  30. string strT=currentTime.ToString("s");  
  31. //15 取当前时间,格式为:2003-09-23 14:48:30Z   
  32. string strT=currentTime.ToString("u");  
  33. //16 取当前时间,格式为:2003-09-23 14:48   
  34. string strT=currentTime.ToString("g");  
  35. //17 取当前时间,格式为:Tue, 23 Sep 2003 14:52:40 GMT   
  36. string strT=currentTime.ToString("r");  
  37. //18获得当前时间 n 天后的日期时间   
  38. DateTime newDay = DateTime.Now.AddDays(100);</pre><br>  
  39. <pre name="code" class="csharp">/ 计算2个日期之间的天数差   
  40. DateTime dt1 = Convert.DateTime("2007-8-1");  
  41. DateTime dt2 = Convert.DateTime("2007-8-15");    
  42. TimeSpan span = dt2.Subtract(dt1);  
  43. int dayDiff = span.Days + 1;  
  44. // 计算某年某月的天数   
  45. int days = DateTime.DaysInMonth(2007, 8);     
  46. days = 31;  
  47. // 给日期增加一天、减少一天   
  48. DateTime dt =DateTime.Now;   
  49. dt.AddDays(1); //增加一天   
  50. dt.AddDays(-1);//减少一天  
  51. 日期格式模式 说明  
  52. d 月中的某一天。一位数的日期没有前导零。  
  53. dd 月中的某一天。一位数的日期有一个前导零。  
  54. ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。  
  55. dddd 周中某天的完整名称,在 DayNames 中定义。  
  56. M 月份数字。一位数的月份没有前导零。  
  57. MM 月份数字。一位数的月份有一个前导零。  
  58. MMM 月份的缩写名称,在 AbbreviatedMonthNames 中定义。  
  59. MMMM 月份的完整名称,在 MonthNames 中定义。  
  60. y 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。  
  61. yy 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。  
  62. yyyy 包括纪元的四位数的年份。  
  63. gg 时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。  
  64. h 12 小时制的小时。一位数的小时数没有前导零。  
  65. hh 12 小时制的小时。一位数的小时数有前导零。  
  66. H 24 小时制的小时。一位数的小时数没有前导零。  
  67. HH 24 小时制的小时。一位数的小时数有前导零。  
  68. m 分钟。一位数的分钟数没有前导零。  
  69. mm 分钟。一位数的分钟数有一个前导零。  
  70. s 秒。一位数的秒数没有前导零。  
  71. ss 秒。一位数的秒数有一个前导零。  
  72. f 秒的小数精度为一位。其余数字被截断。  
  73. ff 秒的小数精度为两位。其余数字被截断。  
  74. fff 秒的小数精度为三位。其余数字被截断。  
  75. ffff 秒的小数精度为四位。其余数字被截断。  
  76. fffff 秒的小数精度为五位。其余数字被截断。  
  77. ffffff 秒的小数精度为六位。其余数字被截断。  
  78. fffffff 秒的小数精度为七位。其余数字被截断。  
  79. t 在 AMDesignator 或 PMDesignator 中定义的 AM/PM 指示项的第一个字符(如果存在)。  
  80. tt 在 AMDesignator 或 PMDesignator 中定义的 AM/PM 指示项(如果存在)。  
  81. z 时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数没有前导零。例如,太平洋标准时间是“-8”。  
  82. zz 时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数有前导零。例如,太平洋标准时间是“-08”。  
  83. zzz 完整时区偏移量(“+”或“-”后面跟有小时和分钟)。一位数的小时数和分钟数有前导零。例如,太平洋标准时间是“-08:00”。  
  84. : 在 TimeSeparator 中定义的默认时间分隔符。  
  85. / 在 DateSeparator 中定义的默认日期分隔符。  
  86. % c 其中 c 是格式模式(如果单独使用)。如果格式模式与原义字符或其他格式模式合并,则可以省略“%”字符。  
  87. \ c 其中 c 是任意字符。照原义显示字符。若要显示反斜杠字符,请使用“\\”。  
  88. 只有上面第二个表中列出的格式模式才能用于创建自定义模式;在第一个表中列出的标准格式字符不能用于创建自定义模式。  
  89. 自定义模式的长度至少为两个字符;例如,  
  90. DateTime.ToString( "d"); // 返回 DateTime 值;“d”是标准短日期模式。   
  91. DateTime.ToString( "%d"); // 返回月中的某天;“%d”是自定义模式。   
  92. DateTime.ToString( "d "); // 返回后面跟有一个空白字符的月中的某天;“d”是自定义模式。</pre><br>  
  93. <br>  
  94. <pre></pre>  
  95. <pre></pre>