一.当前日期+时间DateTime.Now
c#/asp.net通过DateTime.Now这个类来获取当前的时间。
DateTime dt = DateTime.Now; 2013/10/24 10:36:57
string dt_st = DateTime.Now.ToString(); 2013/10/24 10:36:57
二.DateTime.Now.ToFileTime
long dt_lg = DateTime.Now.ToFileTimeUtc(); 130270558814312461
DateTime dt = DateTime.FromFileTimeUtc(dts); 2013/10/24 10:36:57
long dt_st = DateTime.Now.ToFileTime(); 130270563304629292
DateTime dt = DateTime.FromFileTime(dt_st); 2013/10/24 10:47:25
double dt_db = DateTime.Now.ToOADate(); 41571.4963313542
DateTime dt = DateTime.FromOADate(dt_db); 2013/10/24 11:54:43
协调世界时:协调世界时 (UTC) 等于本地时间减去 UTC 偏移量
DateTime dt = DateTime.Now.ToUniversalTime(); 2013/10/24 3:58:02
三.DateTime.Now.Add
1.计算距此刻为 36 天(即 864 小时)的那一天的当时时间。
DateTime dt = DateTime.Now.Add(new System.TimeSpan(-36, 0, 0, 0));
当前:2013/10/24 11:09:13 结果:2013/11/29 11:09:13
DateTime dt = DateTime.Now.Add(new System.TimeSpan(-36, 0, 0, 0));
当前:2013/10/24 11:36:57 结果:2013/9/18 11:36:57
2.今天
DateTime dt = DateTime.Now; 2013/10/24 10:36:57
3.昨天,就是今天的日期减一
DateTime dt = DateTime.Now.AddDays(-1);
明天,就是今天的日期加一
DateTime dt = DateTime.Now.AddDays(1);
Add同理如下:
Add(时间差)
AddDays(天)
AddHours(时)
AddMilliseconds(毫秒)
AddMinutes(分)
AddMonths(月)
AddSeconds(秒)
AddTicks(周期数)
AddYears(年)
四、DateTime.Compare/DateTime.CompareTo
对两个 DateTime 的实例进行比较,并返回一个指示第一个 DateTime 实例是早于、等于还是晚于第二个 DateTime 实例的整数(-1,0,1)。
public static int Compare(DateTime t1,DateTime t2)
示例:t1小于t2
DateTime t1= DateTime.Now;
DateTime t2 = DateTime.Now.AddDays(-5);
int dt = DateTime.Compare(t1, t2); //结果:-1,t1小于t2
五、获取日期
DateTime dt = DateTime.Now.ToLongDateString().ToString(); // 2008年9月4日
DateTime dt = DateTime.Now.ToShortDateString().ToString(); // 2008-9-4
DateTime dt = DateTime.Now.ToString("yyyy-MM-dd"); // 2008-09-04
DateTime dt = DateTime.Now.Date.ToString(); // 2008-9-4 0:00:00
六、获取时间
DateTime dt = DateTime.Now.ToLongTimeString().ToString(); // 20:16:16
DateTime dt = DateTime.Now.ToShortTimeString().ToString(); // 20:16
DateTime dt = DateTime.Now.ToString("hh:mm:ss"); // 08:05:57
DateTime dt = DateTime.Now.TimeOfDay.ToString(); // 20:33:50.7187500
七、其它
DateTime dt = DateTime.Now.Year.ToString(); 获取年份 // 2008
DateTime dt = DateTime.Now.Month.ToString(); 获取月份 // 9
DateTime dt = DateTime dt = DateTime.Now.DayOfWeek.ToString(); 获取星期 // Thursday
DateTime dt = DateTime.Now.DayOfYear.ToString(); 获取第几天 // 248
DateTime dt = DateTime.Now.Hour.ToString(); 获取小时 // 20
DateTime dt = DateTime.Now.Minute.ToString(); 获取分钟 // 31
DateTime dt = DateTime.Now.Second.ToString(); 获取秒数 // 45
//n为一个数,可以数整数,也可以事小数
DateTime dt = dt.AddYears(n).ToString(); //时间加n年
DateTime dt = dt.AddDays(n).ToString(); //加n天
DateTime dt = dt.AddHours(n).ToString(); //加n小时
DateTime dt = dt.AddMonths(n).ToString(); //加n个月
DateTime dt = dt.AddSeconds(n).ToString(); //加n秒
DateTime dt = dt.AddMinutes(n).ToString(); //加n分
字符 说明
(:) 时间分隔符。在某些区域设置中,可以使用其他字符表示时间分隔符。时间分隔符在格式化时间值时分隔小时、分钟和秒。格式化输出中用作时间分隔符的实际字符由系统的 LocaleID 值确定。
(/) 日期分隔符。在某些区域设置中,可以使用其他字符表示日期分隔符。日期分隔符在格式化日期值时分隔日、月和年。格式化输出中用作日期分隔符的实际字符由您的区域设置确定。
(%) 用于表明不论尾随什么字母,随后字符都应该以单字母格式读取。也用于表明单字母格式应以用户定义格式读取。有关详细信息,请参阅下面的内容。
d 将日显示为不带前导零的数字(如 1)。如果这是用户定义的数字格式中的唯一字符,请使用 %d。
dd 将日显示为带前导零的数字(如 01)。
ddd 将日显示为缩写形式(例如 Sun)。
dddd 将日显示为全名(例如 Sunday)。
M 将月份显示为不带前导零的数字(如一月表示为 1)。如果这是用户定义的数字格式中的唯一字符,请使用 %M。
MM 将月份显示为带前导零的数字(例如 01/12/01)。
MMM 将月份显示为缩写形式(例如 Jan)。
MMMM 将月份显示为完整月份名(例如 January)。
gg 显示时代/纪元字符串(例如 A.D.)
h 使用12 小时制将小时显示为不带前导零的数字(例如 1:15:15 PM)。如果这是用户定义的数字格式中的唯一字符,请使用 %h。
hh 使用 12 小时制将小时显示为带前导零的数字(例如 01:15:15 PM)。
H 使用 24 小时制将小时显示为不带前导零的数字(例如 1:15:15)。如果这是用户定义的数字格式中的唯一字符,请使用 %H。
HH 使用 24 小时制将小时显示为带前导零的数字(例如 01:15:15)。
m 将分钟显示为不带前导零的数字(例如 12:1:15)。如果这是用户定义的数字格式中的唯一字符,请使用 %m。
mm 将分钟显示为带前导零的数字(例如 12:01:15)。
s 将秒显示为不带前导零的数字(例如 12:15:5)。如果这是用户定义的数字格式中的唯一字符,请使用 %s。
ss 将秒显示为带前导零的数字(例如 12:15:05)。
f 显示秒的小数部分。例如,ff 将精确显示到百分之一秒,而 ffff 将精确显示到万分之一秒。用户定义格式中最多可使用七个 f 符号。如果这是用户定义的数字格式中的唯一字符,请使用 %f。
t 使用 12 小时制,并对中午之前的任一小时显示大写的 A,对中午到 11:59 P.M 之间的任一小时显示大写的 P。如果这是用户定义的数字格式中的唯一字符,请使用 %t。
tt 使用 12 小时制,并对中午之前任一小时显示大写的 AM;对中午到 11:59 P.M 之间的任一小时显示大写的 PM。
y 将年份 (0-9) 显示为不带前导零的数字。如果这是用户定义的数字格式中的唯一字符,请使用 %y。
yy 以带前导零的两位数字格式显示年份(如果适用)。
yyy 以三位数字格式显示年份。
yyyy 以四位数字格式显示年份。
z 显示不带前导零的时区偏移量(如 -8)。如果这是用户定义的数字格式中的唯一字符,请使用 %z。
zz 显示带前导零的时区偏移量(例如 -08)
zzz 显示完整的时区偏移量(例如 -08:00)