c#代码,用于查找vb中的确切日期差异

时间:2014-07-30 10:43:04

标签: c# vb.net

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#中执行此操作...

2 个答案:

答案 0 :(得分:1)

您可以创建自己的 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.");
    }
}

答案 1 :(得分:0)

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