c#代码查找与vb中的确切日期差异

VB有一个名为DateDiff()的函数。 但是在C#中它不可用。 我想在C#中使用函数或任何代码来执行与VB中相同的DateDiff函数。

 Dim datTim1 As Date = #1/4/2001# Dim datTim2 As Date = #1/9/2001# Dim wD As Long = DateDiff(DateInterval.Weekday, datTim1, datTim2) Dim wY As Long = DateDiff(DateInterval.WeekOfYear, datTim1, datTim2) 

我想在C#中做到这一点……

  1. 添加到您的C#项目的.Net程序集Microsoft.VisualBasic的引用
  2. 使用适当的参数调用Microsoft.VisualBasic.DateAndTime.DateDiff()

您可以创建自己的DateDiff()函数:

 public enum Intervals { Days, Months, Years } public static int DateDiff(Intervals eInterval, System.DateTime dtInit, System.DateTime dtEnd) { if (dtEnd < dtInit) throw new ArithmeticException("Init date should be previous to End date."); switch (eInterval) { case Intervals.Days: return (dtEnd.AddDays - dtInit).TotalDays; case Intervals.Months: return ((dtEnd.Year - dtInit.Year) * 12) + dtEnd.Month - dtInit.Month; case Intervals.Years: return dtEnd.Year - dtInit.Year; default: throw new ArgumentException("Incorrect interval code."); } }