如何在.NET中获得两天的差异

use*_*288 2 .net c# datetime

我想找到员工的服务期,我已经从数据库中得到了员工加入日期

前加入日期:2007/03/24

现在我需要找到系统日期和加入日期之间的区别,如果任何人可以有这个想法,请帮助我谢谢.

我编写的示例代码以获得答案,但它无法正常工作

 public TimeSpan periodOfService
       {
           get
           {
                //DateOfJoin-->which i get from my database
               DateTime  JoinDate   = Convert.ToDateTime(DateOfJoin);
               DateTime TodayData =  DateTime.Now;

               TimeSpan servicePeriod = JoinDate - TodayData;

               return servicePeriod;
           }
   }
Run Code Online (Sandbox Code Playgroud)

输出格式 - > 2年3个月
如何在Asp.net MVC 4中执行此操作?

小智 5

首先,交换日期.

你想减去JoinDateTodayData(也修订的拼写和命名惯例):

public TimeSpan periodOfService
       {
           get
           {
                //DateOfJoin-->which i get from my database
               DateTime  JoinDate   = Convert.ToDateTime(DateOfJoin);
               DateTime TodayData =  DateTime.Now;

               TimeSpan servicePeriod = TodayData - JoinDate;

               return servicePeriod;
           }
   }
Run Code Online (Sandbox Code Playgroud)

不幸的是,OP,TimeSpan以你想要的格式输出这个值比你最初想的要复杂得多,请参阅下面的文章,了解如何实现这一点:

http://joelfillmore.com/years-and-months-between-dates/

我建议您阅读它建议的解决方案,然后研究使用该方法:

public DateSpan(DateTime startDate, DateTime endDate)
Run Code Online (Sandbox Code Playgroud)