首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

一个关于Datetime的有关问题

2012-11-15 
一个关于Datetime的问题比如说我声明一个dt1Datetimedt1 DateTime.Now dt2取dt1向前推两个小时;DateTi

一个关于Datetime的问题
比如说我声明一个dt1;Datetime dt1 = DateTime.Now; dt2取dt1向前推两个小时;DateTime dt2= dt1.AddHours(-2);
假设显示是月初,dt1 = 2012-10-01 00:12:00;如果按上面的方法,dt2 = 2012-09-30 22:12:00;有什么方法可以在跨月的时候让dt2= 2012-10-01 00:00:00,也就是说月不往前减。

[解决办法]
判断:如果减去的小时数大于d1这个月的总小时数,就返回这个月的第一天;

C# code
//得到d1这个日期这个月的总小时数DateTime.Now.Subtract(new DateTime(DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.Ticks)).TotalHours
[解决办法]
C# code
DateTime dt1 = new DateTime(2012, 10, 1, 0, 12, 0);// DateTime.NowDateTime dt2 = dt1.AddHours(-2);if (dt2.Year < dt1.Year || dt2.Month < dt1.Month){    dt2 = new DateTime(dt1.Year, dt1.Month, 1);}
[解决办法]
DateTime dt2= dt1.AddHours(-2);
if (dt2.Month < dt1.Month)
{
dt2 =new DateTime(dt1.Year, dt1.Month,1, 0, 0, 0);
}

热点排行