c# - 如何在 .NET 中获取两天之间的差异

标签 c# .net 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;
           }
   }

输出格式->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/

相关文章:

c# - 我如何启动进程并隐藏它的窗口?

javascript - Angularjs 绑定(bind)日期时间选择器中的值

javascript - 在数据范围内找不到日期

c# - 如何定义实现接口(interface)并约束类型参数的泛型类?

c# - .NET ReactiveExtension 观察器未捕获 OnError 中的错误

java - 以 InputStream 格式将文本文件从 .Net http 客户端上传到 Java REST API

r - 使用基本R功能对POSIX日期(POSIXct)进行四舍五入

c# - WPF 格式化文本 : Calculate font size to fill available height space

c# - 使用 C# 创建 Azure 存储帐户抛出异常 "The request was aborted: Could not create SSL/TLS secure channel."

c# - 从 IEdmEntity 到 CLR 的映射