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#做这个
Microsoft.VisualBasic
您可以创建自己的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记住这对你是否有帮助