DateTime t1 = Convert.ToDateTime("2011-09-07 15:11:20");
DateTime t2 = Convert.ToDateTime("2011-09-08 10:11:20");TimeSpan tt = t2.Subtract(t1);
int days = tt.Days;如果是这样获取的话~~取到的日期是0天,因为两个天数之间相差的时候间隔还不足一天如果是 int days = t2.Day - t1.Day; 这样的话,可以取到正确的日期差一天,但是这种方法用在跨月的时候,就还得判断月份再判断日期了,请问高手们,有没有什么办法可以解决这个问题的呢?
DateTime t2 = Convert.ToDateTime("2011-09-08 10:11:20");TimeSpan tt = t2.Subtract(t1);
int days = tt.Days;如果是这样获取的话~~取到的日期是0天,因为两个天数之间相差的时候间隔还不足一天如果是 int days = t2.Day - t1.Day; 这样的话,可以取到正确的日期差一天,但是这种方法用在跨月的时候,就还得判断月份再判断日期了,请问高手们,有没有什么办法可以解决这个问题的呢?
DateTime dt2 = Convert.ToDateTime("2007-1-28 10:40:12");
TimeSpan ts = dt1 - dt2;
string timespan = "相差:"
+ ts.Days.ToString() + "天"
Label1.Text = timespan;
DateTime t1 = Convert.ToDateTime("2011-08-07 15:11:20");
DateTime t2 = Convert.ToDateTime("2011-09-08 10:11:20"); TimeSpan tt = t2.Subtract(t1);
Response.Write(Convert.ToInt64(tt.TotalDays));
DateTime t2 = Convert.ToDateTime("2011-09-08 10:11:20"); DateTime ada = new DateTime(t1.Year, t1.Month, t1.Day);
DateTime bdb = new DateTime(t2.Year, t2.Month, t2.Day); Console.WriteLine((ada - bdb).Days);
DateTime t2 = Convert.ToDateTime("2011-09-08 10:11:20");
TimeSpan sp = t1 - t2;
Response.Write(Math.Abs(sp.TotalHours)/24+"天");
private static int DayCount(DateTime starDate, DateTime endDate)
{
starDate = DateTime.Parse(starDate.ToString("yyyy-MM-dd"));
endDate = DateTime.Parse(endDate.ToString("yyyy-MM-dd")); return (endDate - starDate).Days;
}
你这都用的是声明了是要的天数 int days = tt.Days;没有小时了,相差不到一天的话肯定是0;
要么你就用8楼的方法,只不过是带有小数的天数。
要么就判断,当天数为0时,直接取相差小时数就好了。 int h = 0 ;
if (days<=0)
{
//获取小时数
h = tt.Hours;
}