成员:
/* 字段 */ DateTime.MaxValue; //9999/12/31 23:59:59 DateTime.MinValue; //0001/01/01 00:00:00 /* 静态属性 */ DateTime.Now; //当前日期和时间 DateTime.Today; //当前日期 DateTime.UtcNow; //当前日期和时间(UTC) /* 静态方法 */ DateTime.Compare(); //时间对比, 或返回 -1、0、1 DateTime.DaysInMonth(); //返回指定月的天数 DateTime.Equals(); // DateTime.FromBinary(); //从 ToBinary() 的返回值建立 DateTime.FromFileTime(); //从 ToFileTime() 的返回值建立 DateTime.FromFileTimeUtc(); //从 ToFileTimeUtc() 的返回值建立 DateTime.FromOADate(); //从 ToOADate() 的返回值建立 DateTime.IsLeapYear(); //是否是闰年 DateTime.Parse(); //从时间字符串构建 DateTime.ParseExact(); //使用区域与格式信息从时间字符串构建 DateTime.ReferenceEquals(); // DateTime.SpecifyKind(); //给时间指定不同的区域格式 DateTime.TryParse(); //尝试从时间字符串构建 DateTime.TryParseExact(); //尝试使用区域与格式信息从时间字符串构建 /* 属性 */ Date; //日期 Day; //日(1..31) DayOfWeek; //周 DayOfYear; //天(1..366) Hour; //时 Kind; //时间标准的枚举 Millisecond; //毫秒 Minute; //分 Month; //月 Second; //秒 Ticks; //计时周期数 TimeOfDay; //时间 Year; //年 /* 方法 */ Add(); //+ TimeSpan 类型的时间间隔 AddDays(); //+天 AddHours(); //+时 AddMilliseconds(); //+毫秒 AddMinutes(); //+分 AddMonths(); //+月 AddSeconds(); //+秒 AddTicks(); //+周期数 AddYears(); //+年 CompareTo(); //时间对比, 或返回 -1、0、1 Equals(); // GetDateTimeFormats(); //获取各种时间格式的数组 IsDaylightSavingTime(); //是否在夏时制内 Subtract(); //- TimeSpan 类型的时间间隔 ToBinary(); //返回一个 long, 测试同 Ticks 属性值 ToFileTime(); //返回 Windows 文件时间, long 类型 ToFileTimeUtc(); //返回 UTC 格式的 Windows 文件时间 ToLocalTime(); //转换为本地时间 ToLongDateString(); //转长日期格式 ToLongTimeString(); //转长时间格式 ToOADate(); //返回 OLE 自动化日期, double 类型 ToShortDateString(); //转短日期格式 ToShortTimeString(); //转短时间格式 ToString(); //格式化输出 ToUniversalTime(); //转换到 UTC 格式
常用的构造函数:
protected void Button1_Click(object sender, EventArgs e) { const string fmt = "yyyy-MM-dd HH:mm:ss fff\n"; string s1 = new DateTime().ToString(fmt); //0001-01-01 00:00:00 000 string s2 = new DateTime(634295342967890000).ToString(fmt); //2011-01-02 03:04:56 789 string s3 = new DateTime(2011, 1, 2).ToString(fmt); //2011-01-02 00:00:00 000 string s4 = new DateTime(2011, 1, 2, 3, 4, 56).ToString(fmt); //2011-01-02 03:04:56 000 string s5 = new DateTime(2011, 1, 2, 3, 4, 56, 789).ToString(fmt); //2011-01-02 03:04:56 789 TextBox1.Text = string.Concat(s1, s2, s3, s4, s5); }
属性测试:
protected void Button1_Click(object sender, EventArgs e) { DateTime dt = new DateTime(2011, 1, 2, 3, 4, 56, 789); TextBox1.Text = string.Format("{0}\n{1}\n{2}\n{3}\n{4}\n{5}\n{6}\n{7}\n{8}\n{9}\n{10}\n{11}\n{12}", dt.Date, //2011/1/2 0:00:00 dt.Day, //2 dt.DayOfWeek, //Sunday dt.DayOfYear, //2 dt.Hour, //3 dt.Kind, //Unspecified dt.Millisecond, //789 dt.Minute, //4 dt.Month, //1 dt.Second, //56 dt.Ticks, //634295342967890000 dt.TimeOfDay, //03:04:56.7890000 dt.Year //2011 ); }
AddDays():
protected void Button1_Click(object sender, EventArgs e) { DateTime dt = new DateTime(2011, 1, 2); //2011/1/2 DateTime dt1 = dt.AddDays(1); //2011/1/3 DateTime dt2 = dt.AddDays(-2); //2010/12/31 TextBox1.Text = string.Format("{0:d}\n{1:d}\n{2:d}", dt, dt1, dt2); }
DateTime.Parse():
protected void Button1_Click(object sender, EventArgs e) { DateTime dt1 = DateTime.Parse("2011/1/2"); //2011/1/2 0:00:00 DateTime dt2 = DateTime.Parse("2011年1月2日 3时4分56秒"); //2011/1/2 3:04:56 TextBox1.Text = string.Concat(dt1, "\n", dt2); }
转换与重建:
protected void Button1_Click(object sender, EventArgs e) { DateTime dt = new DateTime(2011, 1, 2, 3, 4, 56, 789); //2011/1/2 3:04:56 long binaryTime = dt.ToBinary(); //634295342967890000 long fileTime = dt.ToFileTime(); //129383822967890000 long fileUtcTime = dt.ToFileTimeUtc(); //129384110967890000 double oleTime = dt.ToOADate(); //40545.1284350579 DateTime dt1 = DateTime.FromBinary(binaryTime); //2011/1/2 3:04:56 DateTime dt2 = DateTime.FromFileTime(fileTime); //2011/1/2 3:04:56 DateTime dt3 = DateTime.FromFileTimeUtc(fileUtcTime); //2011/1/2 3:04:56 DateTime dt4 = DateTime.FromOADate(oleTime); //2011/1/2 3:04:56 TextBox1.Text = string.Format("{0}\n{1}\n{2}\n{3}\n{4}\n{5}\n{6}\n{7}\n{8}", dt, binaryTime, fileTime, fileUtcTime, oleTime, dt1, dt2, dt2, dt4 ); }
DateTime.DaysInMonth():
protected void Button1_Click(object sender, EventArgs e) { int nDay; string str = ""; for (int i=1; i<=12; i++) { nDay = DateTime.DaysInMonth(2011, i); str += string.Format("2011 年 {0,2} 月: {1} 天\n", i, nDay); } TextBox1.Text = str; } /********************* 2011 年 1 月: 31 天 2011 年 2 月: 28 天 2011 年 3 月: 31 天 2011 年 4 月: 30 天 2011 年 5 月: 31 天 2011 年 6 月: 30 天 2011 年 7 月: 31 天 2011 年 8 月: 31 天 2011 年 9 月: 30 天 2011 年 10 月: 31 天 2011 年 11 月: 30 天 2011 年 12 月: 31 天 **********************/
ToString():
protected void Button1_Click(object sender, EventArgs e) { DateTime dt = new DateTime(2011, 1, 2, 3, 4, 56, 789); string[] arr = new string[60]; arr[0] = dt.ToString(); //2011/1/2 3:04:56 arr[1] = dt.ToString("d"); //2011/1/2 arr[2] = dt.ToString("D"); //2011年1月2日 arr[3] = dt.ToString("f"); //2011年1月2日 3:04 arr[4] = dt.ToString("F"); //2011年1月2日 3:04:56 arr[5] = dt.ToString("g"); //2011/1/2 3:04 arr[6] = dt.ToString("G"); //2011/1/2 3:04:56 arr[7] = dt.ToString("m"); //1月2日 arr[8] = dt.ToString("o"); //2011-01-02T03:04:56.7890000 arr[9] = dt.ToString("r"); //Sun, 02 Jan 2011 03:04:56 GMT arr[10] = dt.ToString("s"); //2011-01-02T03:04:56 arr[11] = dt.ToString("t"); //3:04 arr[12] = dt.ToString("T"); //3:04:56 arr[13] = dt.ToString("u"); //2011-01-02 03:04:56Z arr[14] = dt.ToString("U"); //2011年1月1日 19:04:56 arr[15] = dt.ToString("y"); //2011年1月 arr[16] = dt.ToString("d"); //2011/1/2 arr[17] = dt.ToString("dd"); //02 arr[18] = dt.ToString("ddd"); //周日 arr[19] = dt.ToString("dddd"); //星期日 arr[20] = dt.ToString("f"); //2011年1月2日 3:04 arr[21] = dt.ToString("ff"); //78 arr[22] = dt.ToString("fff"); //789 arr[23] = dt.ToString("ffff"); //7890 arr[24] = dt.ToString("fffff"); //78900 arr[25] = dt.ToString("ffffff"); //789000 arr[26] = dt.ToString("fffffff"); //7890000 arr[27] = dt.ToString("F"); //2011年1月2日 3:04:56 arr[28] = dt.ToString("FF"); //78 arr[29] = dt.ToString("FFF"); //789 arr[30] = dt.ToString("FFFF"); //789 arr[31] = dt.ToString("FFFFF"); //789 arr[32] = dt.ToString("FFFFFF"); //789 arr[33] = dt.ToString("FFFFFFF"); //789 arr[34] = dt.ToString("g"); //2011/1/2 3:04 arr[35] = dt.ToString("%h"); //3 arr[36] = dt.ToString("hh"); //03 arr[37] = dt.ToString("%H"); //3 arr[38] = dt.ToString("HH"); //03 arr[39] = dt.ToString("%K"); arr[40] = dt.ToString("m"); //1月2日 arr[41] = dt.ToString("mm"); //04 arr[42] = dt.ToString("M"); //1月2日 arr[43] = dt.ToString("MM"); //01 arr[44] = dt.ToString("MMM"); //一月 arr[45] = dt.ToString("MMMM"); //一月 arr[46] = dt.ToString("s"); //2011-01-02T03:04:56 arr[47] = dt.ToString("ss"); //56 arr[48] = dt.ToString("t"); //3:04 arr[49] = dt.ToString("tt"); //上午 arr[50] = dt.ToString("y"); //2011年1月 arr[51] = dt.ToString("yy"); //11 arr[52] = dt.ToString("yyy"); //2011 arr[53] = dt.ToString("yyyy"); //2011 arr[54] = dt.ToString("yyyyy"); //02011 arr[55] = dt.ToString("%z"); //+8 arr[56] = dt.ToString("zz"); //+08 arr[57] = dt.ToString("zzz"); //+08:00 arr[58] = dt.ToString("yyyy年MM月dd日 HH时mm分ss秒"); //2011年01月02日 03时04分56秒 arr[59] = dt.ToString("yyyy/M/d H:m:s"); //2011/1/2 3:4:56 string str = ""; foreach (string s in arr) { str += s + "\n"; } TextBox1.Text = str; }
GetDateTimeFormats():
protected void Button1_Click(object sender, EventArgs e) { DateTime dt = new DateTime(2011, 1, 2, 3, 4, 56, 789); string[] sArr1 = dt.GetDateTimeFormats(); string[] sArr2 = dt.GetDateTimeFormats(new System.Globalization.CultureInfo("en-US")); TextBox1.Text = string.Join("\n", sArr1); TextBox1.Text += "\n" + new string('=', 32) + "\n"; TextBox1.Text += string.Join("\n", sArr2); } /* 测试结果: 2011/1/2 2011-1-2 2011.1.2 2011-01-02 2011/01/02 2011.01.02 11-1-2 11/1/2 11.1.2 11/01/02 2011年1月2日 2011年1月2日,星期日 星期日,2011年1月2日 2011年1月2日 3:04 2011年1月2日 03:04 2011年1月2日 上午 3:04 2011年1月2日 上午 03:04 2011年1月2日,星期日 3:04 2011年1月2日,星期日 03:04 2011年1月2日,星期日 上午 3:04 2011年1月2日,星期日 上午 03:04 星期日,2011年1月2日 3:04 星期日,2011年1月2日 03:04 星期日,2011年1月2日 上午 3:04 星期日,2011年1月2日 上午 03:04 2011年1月2日 3:04:56 2011年1月2日 03:04:56 2011年1月2日 上午 3:04:56 2011年1月2日 上午 03:04:56 2011年1月2日,星期日 3:04:56 2011年1月2日,星期日 03:04:56 2011年1月2日,星期日 上午 3:04:56 2011年1月2日,星期日 上午 03:04:56 星期日,2011年1月2日 3:04:56 星期日,2011年1月2日 03:04:56 星期日,2011年1月2日 上午 3:04:56 星期日,2011年1月2日 上午 03:04:56 2011/1/2 3:04 2011/1/2 03:04 2011/1/2 上午 3:04 2011/1/2 上午 03:04 2011-1-2 3:04 2011-1-2 03:04 2011-1-2 上午 3:04 2011-1-2 上午 03:04 2011.1.2 3:04 2011.1.2 03:04 2011.1.2 上午 3:04 2011.1.2 上午 03:04 2011-01-02 3:04 2011-01-02 03:04 2011-01-02 上午 3:04 2011-01-02 上午 03:04 2011/01/02 3:04 2011/01/02 03:04 2011/01/02 上午 3:04 2011/01/02 上午 03:04 2011.01.02 3:04 2011.01.02 03:04 2011.01.02 上午 3:04 2011.01.02 上午 03:04 11-1-2 3:04 11-1-2 03:04 11-1-2 上午 3:04 11-1-2 上午 03:04 11/1/2 3:04 11/1/2 03:04 11/1/2 上午 3:04 11/1/2 上午 03:04 11.1.2 3:04 11.1.2 03:04 11.1.2 上午 3:04 11.1.2 上午 03:04 11/01/02 3:04 11/01/02 03:04 11/01/02 上午 3:04 11/01/02 上午 03:04 2011/1/2 3:04:56 2011/1/2 03:04:56 2011/1/2 上午 3:04:56 2011/1/2 上午 03:04:56 2011-1-2 3:04:56 2011-1-2 03:04:56 2011-1-2 上午 3:04:56 2011-1-2 上午 03:04:56 2011.1.2 3:04:56 2011.1.2 03:04:56 2011.1.2 上午 3:04:56 2011.1.2 上午 03:04:56 2011-01-02 3:04:56 2011-01-02 03:04:56 2011-01-02 上午 3:04:56 2011-01-02 上午 03:04:56 2011/01/02 3:04:56 2011/01/02 03:04:56 2011/01/02 上午 3:04:56 2011/01/02 上午 03:04:56 2011.01.02 3:04:56 2011.01.02 03:04:56 2011.01.02 上午 3:04:56 2011.01.02 上午 03:04:56 11-1-2 3:04:56 11-1-2 03:04:56 11-1-2 上午 3:04:56 11-1-2 上午 03:04:56 11/1/2 3:04:56 11/1/2 03:04:56 11/1/2 上午 3:04:56 11/1/2 上午 03:04:56 11.1.2 3:04:56 11.1.2 03:04:56 11.1.2 上午 3:04:56 11.1.2 上午 03:04:56 11/01/02 3:04:56 11/01/02 03:04:56 11/01/02 上午 3:04:56 11/01/02 上午 03:04:56 1月2日 1月2日 2011-01-02T03:04:56.7890000 2011-01-02T03:04:56.7890000 Sun, 02 Jan 2011 03:04:56 GMT Sun, 02 Jan 2011 03:04:56 GMT 2011-01-02T03:04:56 3:04 03:04 上午 3:04 上午 03:04 3:04:56 03:04:56 上午 3:04:56 上午 03:04:56 2011-01-02 03:04:56Z 2011年1月1日 19:04:56 2011年1月1日 19:04:56 2011年1月1日 下午 7:04:56 2011年1月1日 下午 07:04:56 2011年1月1日,星期六 19:04:56 2011年1月1日,星期六 19:04:56 2011年1月1日,星期六 下午 7:04:56 2011年1月1日,星期六 下午 07:04:56 星期六,2011年1月1日 19:04:56 星期六,2011年1月1日 19:04:56 星期六,2011年1月1日 下午 7:04:56 星期六,2011年1月1日 下午 07:04:56 2011年1月 2011.1 2011年1月 2011.1 ================================ 1/2/2011 1/2/11 01/02/11 01/02/2011 11/01/02 2011-01-02 02-Jan-11 Sunday, January 02, 2011 January 02, 2011 Sunday, 02 January, 2011 02 January, 2011 Sunday, January 02, 2011 3:04 AM Sunday, January 02, 2011 03:04 AM Sunday, January 02, 2011 3:04 Sunday, January 02, 2011 03:04 January 02, 2011 3:04 AM January 02, 2011 03:04 AM January 02, 2011 3:04 January 02, 2011 03:04 Sunday, 02 January, 2011 3:04 AM Sunday, 02 January, 2011 03:04 AM Sunday, 02 January, 2011 3:04 Sunday, 02 January, 2011 03:04 02 January, 2011 3:04 AM 02 January, 2011 03:04 AM 02 January, 2011 3:04 02 January, 2011 03:04 Sunday, January 02, 2011 3:04:56 AM Sunday, January 02, 2011 03:04:56 AM Sunday, January 02, 2011 3:04:56 Sunday, January 02, 2011 03:04:56 January 02, 2011 3:04:56 AM January 02, 2011 03:04:56 AM January 02, 2011 3:04:56 January 02, 2011 03:04:56 Sunday, 02 January, 2011 3:04:56 AM Sunday, 02 January, 2011 03:04:56 AM Sunday, 02 January, 2011 3:04:56 Sunday, 02 January, 2011 03:04:56 02 January, 2011 3:04:56 AM 02 January, 2011 03:04:56 AM 02 January, 2011 3:04:56 02 January, 2011 03:04:56 1/2/2011 3:04 AM 1/2/2011 03:04 AM 1/2/2011 3:04 1/2/2011 03:04 1/2/11 3:04 AM 1/2/11 03:04 AM 1/2/11 3:04 1/2/11 03:04 01/02/11 3:04 AM 01/02/11 03:04 AM 01/02/11 3:04 01/02/11 03:04 01/02/2011 3:04 AM 01/02/2011 03:04 AM 01/02/2011 3:04 01/02/2011 03:04 11/01/02 3:04 AM 11/01/02 03:04 AM 11/01/02 3:04 11/01/02 03:04 2011-01-02 3:04 AM 2011-01-02 03:04 AM 2011-01-02 3:04 2011-01-02 03:04 02-Jan-11 3:04 AM 02-Jan-11 03:04 AM 02-Jan-11 3:04 02-Jan-11 03:04 1/2/2011 3:04:56 AM 1/2/2011 03:04:56 AM 1/2/2011 3:04:56 1/2/2011 03:04:56 1/2/11 3:04:56 AM 1/2/11 03:04:56 AM 1/2/11 3:04:56 1/2/11 03:04:56 01/02/11 3:04:56 AM 01/02/11 03:04:56 AM 01/02/11 3:04:56 01/02/11 03:04:56 01/02/2011 3:04:56 AM 01/02/2011 03:04:56 AM 01/02/2011 3:04:56 01/02/2011 03:04:56 11/01/02 3:04:56 AM 11/01/02 03:04:56 AM 11/01/02 3:04:56 11/01/02 03:04:56 2011-01-02 3:04:56 AM 2011-01-02 03:04:56 AM 2011-01-02 3:04:56 2011-01-02 03:04:56 02-Jan-11 3:04:56 AM 02-Jan-11 03:04:56 AM 02-Jan-11 3:04:56 02-Jan-11 03:04:56 January 02 January 02 2011-01-02T03:04:56.7890000 2011-01-02T03:04:56.7890000 Sun, 02 Jan 2011 03:04:56 GMT Sun, 02 Jan 2011 03:04:56 GMT 2011-01-02T03:04:56 3:04 AM 03:04 AM 3:04 03:04 3:04:56 AM 03:04:56 AM 3:04:56 03:04:56 2011-01-02 03:04:56Z Saturday, January 01, 2011 7:04:56 PM Saturday, January 01, 2011 07:04:56 PM Saturday, January 01, 2011 19:04:56 Saturday, January 01, 2011 19:04:56 January 01, 2011 7:04:56 PM January 01, 2011 07:04:56 PM January 01, 2011 19:04:56 January 01, 2011 19:04:56 Saturday, 01 January, 2011 7:04:56 PM Saturday, 01 January, 2011 07:04:56 PM Saturday, 01 January, 2011 19:04:56 Saturday, 01 January, 2011 19:04:56 01 January, 2011 7:04:56 PM 01 January, 2011 07:04:56 PM 01 January, 2011 19:04:56 01 January, 2011 19:04:56 January, 2011 January, 2011 */
分类:
C# 与 Net
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
2010-01-03 GdiPlus[60]: 图像(十二) IGPImageAttributes 的更多方法
2009-01-03 C# 语法练习(15): 接口
2009-01-03 C# 语法练习(14): 类[六] - 事件
2009-01-03 如何在 "万一的 Delphi 博客" 回复自动格式化的着色代码?
2009-01-03 C# 语法练习(13): 类[五] - 索引器
2008-01-03 Delphi 中的 XMLDocument 类详解(14) - 遍历 XML 文件
2008-01-03 Delphi 中的 XMLDocument 类详解(13) - 关于 XML 属性