我想找到员工的服务期,我已经从数据库中得到了员工的入职日期
前-加入日期: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;
}
}
输出格式->2年3个月
我如何在 Asp.net MVC 4 中执行此操作?
最佳答案
首先,交换日期。
您想从 TodayData
中减去 JoinDate
(同时修改拼写和命名约定):
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;
}
}
不幸的是,OP,以您喜欢的格式输出此 TimeSpan
值比您最初想象的要棘手得多,请参阅以下文章了解如何实现:
http://joelfillmore.com/years-and-months-between-dates/
我建议您阅读它建议的解决方案,然后研究使用该方法:
public DateSpan(DateTime startDate, DateTime endDate)
关于c# - 如何在 .NET 中获取两天之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19586205/