学用 ASP.Net 之 System.DateTime 结构


成员:
/* 字段 */DateTime.MaxValue; //9999/12/31 23:59:59DateTime.MinValue; //0001/01/01 00:00:00/* 静态属性 */DateTime.Now;    //当前日期和时间DateTime.Today;  //当前日期DateTime.UtcNow; //当前日期和时间(UTC)/* 静态方法 */DateTime.Compare();         //时间对比, 或返回 -1、0、1DateTime.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、1Equals();               //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/22011-1-22011.1.22011-01-022011/01/022011.01.0211-1-211/1/211.1.211/01/022011年1月2日2011年1月2日,星期日星期日,2011年1月2日2011年1月2日 3:042011年1月2日 03:042011年1月2日 上午 3:042011年1月2日 上午 03:042011年1月2日,星期日 3:042011年1月2日,星期日 03:042011年1月2日,星期日 上午 3:042011年1月2日,星期日 上午 03:04星期日,2011年1月2日 3:04星期日,2011年1月2日 03:04星期日,2011年1月2日 上午 3:04星期日,2011年1月2日 上午 03:042011年1月2日 3:04:562011年1月2日 03:04:562011年1月2日 上午 3:04:562011年1月2日 上午 03:04:562011年1月2日,星期日 3:04:562011年1月2日,星期日 03:04:562011年1月2日,星期日 上午 3:04:562011年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:562011/1/2 3:042011/1/2 03:042011/1/2 上午 3:042011/1/2 上午 03:042011-1-2 3:042011-1-2 03:042011-1-2 上午 3:042011-1-2 上午 03:042011.1.2 3:042011.1.2 03:042011.1.2 上午 3:042011.1.2 上午 03:042011-01-02 3:042011-01-02 03:042011-01-02 上午 3:042011-01-02 上午 03:042011/01/02 3:042011/01/02 03:042011/01/02 上午 3:042011/01/02 上午 03:042011.01.02 3:042011.01.02 03:042011.01.02 上午 3:042011.01.02 上午 03:0411-1-2 3:0411-1-2 03:0411-1-2 上午 3:0411-1-2 上午 03:0411/1/2 3:0411/1/2 03:0411/1/2 上午 3:0411/1/2 上午 03:0411.1.2 3:0411.1.2 03:0411.1.2 上午 3:0411.1.2 上午 03:0411/01/02 3:0411/01/02 03:0411/01/02 上午 3:0411/01/02 上午 03:042011/1/2 3:04:562011/1/2 03:04:562011/1/2 上午 3:04:562011/1/2 上午 03:04:562011-1-2 3:04:562011-1-2 03:04:562011-1-2 上午 3:04:562011-1-2 上午 03:04:562011.1.2 3:04:562011.1.2 03:04:562011.1.2 上午 3:04:562011.1.2 上午 03:04:562011-01-02 3:04:562011-01-02 03:04:562011-01-02 上午 3:04:562011-01-02 上午 03:04:562011/01/02 3:04:562011/01/02 03:04:562011/01/02 上午 3:04:562011/01/02 上午 03:04:562011.01.02 3:04:562011.01.02 03:04:562011.01.02 上午 3:04:562011.01.02 上午 03:04:5611-1-2 3:04:5611-1-2 03:04:5611-1-2 上午 3:04:5611-1-2 上午 03:04:5611/1/2 3:04:5611/1/2 03:04:5611/1/2 上午 3:04:5611/1/2 上午 03:04:5611.1.2 3:04:5611.1.2 03:04:5611.1.2 上午 3:04:5611.1.2 上午 03:04:5611/01/02 3:04:5611/01/02 03:04:5611/01/02 上午 3:04:5611/01/02 上午 03:04:561月2日1月2日2011-01-02T03:04:56.78900002011-01-02T03:04:56.7890000Sun, 02 Jan 2011 03:04:56 GMTSun, 02 Jan 2011 03:04:56 GMT2011-01-02T03:04:563:0403:04上午 3:04上午 03:043:04:5603:04:56上午 3:04:56上午 03:04:562011-01-02 03:04:56Z2011年1月1日 19:04:562011年1月1日 19:04:562011年1月1日 下午 7:04:562011年1月1日 下午 07:04:562011年1月1日,星期六 19:04:562011年1月1日,星期六 19:04:562011年1月1日,星期六 下午 7:04:562011年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:562011年1月2011.12011年1月2011.1================================1/2/20111/2/1101/02/1101/02/201111/01/022011-01-0202-Jan-11Sunday, January 02, 2011January 02, 2011Sunday, 02 January, 201102 January, 2011Sunday, January 02, 2011 3:04 AMSunday, January 02, 2011 03:04 AMSunday, January 02, 2011 3:04Sunday, January 02, 2011 03:04January 02, 2011 3:04 AMJanuary 02, 2011 03:04 AMJanuary 02, 2011 3:04January 02, 2011 03:04Sunday, 02 January, 2011 3:04 AMSunday, 02 January, 2011 03:04 AMSunday, 02 January, 2011 3:04Sunday, 02 January, 2011 03:0402 January, 2011 3:04 AM02 January, 2011 03:04 AM02 January, 2011 3:0402 January, 2011 03:04Sunday, January 02, 2011 3:04:56 AMSunday, January 02, 2011 03:04:56 AMSunday, January 02, 2011 3:04:56Sunday, January 02, 2011 03:04:56January 02, 2011 3:04:56 AMJanuary 02, 2011 03:04:56 AMJanuary 02, 2011 3:04:56January 02, 2011 03:04:56Sunday, 02 January, 2011 3:04:56 AMSunday, 02 January, 2011 03:04:56 AMSunday, 02 January, 2011 3:04:56Sunday, 02 January, 2011 03:04:5602 January, 2011 3:04:56 AM02 January, 2011 03:04:56 AM02 January, 2011 3:04:5602 January, 2011 03:04:561/2/2011 3:04 AM1/2/2011 03:04 AM1/2/2011 3:041/2/2011 03:041/2/11 3:04 AM1/2/11 03:04 AM1/2/11 3:041/2/11 03:0401/02/11 3:04 AM01/02/11 03:04 AM01/02/11 3:0401/02/11 03:0401/02/2011 3:04 AM01/02/2011 03:04 AM01/02/2011 3:0401/02/2011 03:0411/01/02 3:04 AM11/01/02 03:04 AM11/01/02 3:0411/01/02 03:042011-01-02 3:04 AM2011-01-02 03:04 AM2011-01-02 3:042011-01-02 03:0402-Jan-11 3:04 AM02-Jan-11 03:04 AM02-Jan-11 3:0402-Jan-11 03:041/2/2011 3:04:56 AM1/2/2011 03:04:56 AM1/2/2011 3:04:561/2/2011 03:04:561/2/11 3:04:56 AM1/2/11 03:04:56 AM1/2/11 3:04:561/2/11 03:04:5601/02/11 3:04:56 AM01/02/11 03:04:56 AM01/02/11 3:04:5601/02/11 03:04:5601/02/2011 3:04:56 AM01/02/2011 03:04:56 AM01/02/2011 3:04:5601/02/2011 03:04:5611/01/02 3:04:56 AM11/01/02 03:04:56 AM11/01/02 3:04:5611/01/02 03:04:562011-01-02 3:04:56 AM2011-01-02 03:04:56 AM2011-01-02 3:04:562011-01-02 03:04:5602-Jan-11 3:04:56 AM02-Jan-11 03:04:56 AM02-Jan-11 3:04:5602-Jan-11 03:04:56January 02January 022011-01-02T03:04:56.78900002011-01-02T03:04:56.7890000Sun, 02 Jan 2011 03:04:56 GMTSun, 02 Jan 2011 03:04:56 GMT2011-01-02T03:04:563:04 AM03:04 AM3:0403:043:04:56 AM03:04:56 AM3:04:5603:04:562011-01-02 03:04:56ZSaturday, January 01, 2011 7:04:56 PMSaturday, January 01, 2011 07:04:56 PMSaturday, January 01, 2011 19:04:56Saturday, January 01, 2011 19:04:56January 01, 2011 7:04:56 PMJanuary 01, 2011 07:04:56 PMJanuary 01, 2011 19:04:56January 01, 2011 19:04:56Saturday, 01 January, 2011 7:04:56 PMSaturday, 01 January, 2011 07:04:56 PMSaturday, 01 January, 2011 19:04:56Saturday, 01 January, 2011 19:04:5601 January, 2011 7:04:56 PM01 January, 2011 07:04:56 PM01 January, 2011 19:04:5601 January, 2011 19:04:56January, 2011January, 2011*/

posted on 2011-01-03 21:07 万一 阅读(1218) 评论(0) 编辑 收藏©著作权归作者所有:来自51CTO博客作者JLee79的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 学用 ASP.Net 之 "字符串" (2): string.Format
  2. 什么是垃圾快乐, 以及如何浪费你的时间
  3. 浅谈时间复杂度
  4. 双十一中,阿里如何将数据库性能提升100%、响应时间减少80%?
  5. [白话解析] Flink的Watermark机制
  6. nginx开启日志,指定格式,查看执行时间
  7. 更改时间、时区
  8. (lintcode)第24题 LFU缓存
  9. JavaScript:时间对象,实例演示右下角广告图

随机推荐

  1. html5 svg 第八章 文字text
  2. 我可以在所有浏览器中使用我的屏幕外菜单
  3. CSS+HTML+JQuery实现条形图
  4. 程序员送女朋友的礼物:域名和祝福视频
  5. 获取图像特定区域的所有多边形坐标?
  6. chrome禁用缓存:调试html5方便
  7. htmlhref属性最大支持多少个字符???(高分)
  8. 如何使flex box在safari中工作?
  9. 如何使用Java浏览和显示XML内容
  10. 关于HTML 的问题[HTML]]