成员:
/* 字段 */
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
*/