c#和sql算出入职人员入职日期的时间差包括年月日

本文介绍如何在SQL和C#中计算两个日期之间的差异,包括年、月、日、周、小时、分钟和秒的差值。通过具体代码示例展示了不同编程语言下时间差的计算方法。

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)   没有实践!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值