sql
分别得到时间差(年月日周小时分钟秒.....)
select datediff(year,'2010-5-5',getdate()) select datediff(month,'2010-5-5',getdate()) select datediff(day,'2010-5-5',getdate()) select datediff(week,'2010-5-5',getdate()) select datediff(hour,'2010-5-5',getdate()) select datediff(minute,'2010-5-5',getdate()) select datediff(second,'2010-5-5',getdate())
输出:
2 24 737 105 17689 1061363 63681796
c#中
DateTime dt = DateTime.Now; DateTime dt2 = Convert.ToDateTime("2010-4-9"); Response.Write("入职日期:"+dt2.ToString()); Response.Write("<br>"); Response.Write("当前日期:"+dt.ToString()); Response.Write("<br>"); Response.Write("相差年:"+(dt.Year - dt2.Year).ToString()); Response.Write("<br>"); Response.Write("相差月:" + ((dt.Year - dt2.Year) * 12 + dt.Month - dt2.Month).ToString()); Response.Write("<br>"); Response.Write("相差日:" + dt.Subtract(dt2).Duration().Days.ToString()); Response.Write("<br>");
输出:
入职日期:2010/4/9 0:00:00 当前日期:2012/5/11 1:22:18 相差年:2 相差月:25 相差日:763
计算时间差的更好的办法是:使用sql中现有的时间函数
要不就这样 c#中传入参数到sql中的存储过程中
要不使用vb中的datediff 引用system.VB命名空间(由于没有装VB) 没有实践!