Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#代码以查找vb中的确切日期差异_C#_Vb.net - Fatal编程技术网

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

c#代码以查找vb中的确切日期差异,c#,vb.net,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.WeekO

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#做这个

  • 在C#项目中添加对.Net程序集的引用
    Microsoft.VisualBasic
  • 使用适当的参数调用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.");
        }
    }
    
    公共枚举间隔
    {
    天,
    月,
    年
    }
    公共静态int-DateDiff(interval、System.DateTime dtInit、System.DateTime dtEnd)
    {
    if(dtEnd
    当你想让懂c的人回答这个问题时,为什么要标记html、javascript和jquery?请重新标记。对不起,我是新来的。如何在不让自己听起来太像c#nt的情况下重新标记它:你有没有在谷歌上搜索过c#datediff?因为它在前10个答案中都有相应的代码。请查看
    DateTime
    DateTime.Subtract
    TimeSpan
    (即使在VB.net中,您也应该这样做。)如果您希望具有完全相同的语义,您可以在C#code中引用
    Microsoft.VisualBasic
    程序集,然后使用类中的
    DateDiff
    方法。无论如何,我也接受这个答案。thanx,我以后会用这个。这么好的一个。可能不是最好的长期解决方案,但作为转换工作的一部分,这是一个不错的选择+1@GaneshGaxy记住这对你是否有帮助