public int GetDays(DateTime d1, DateTime d2) { int m = d2.Month - d1.Month; int d = d2.Day - d1.Day; return m * 30 + d; }没有考虑跨年的情况
public int GetDays(DateTime d1, DateTime d2) { int m = d2.Month - d1.Month; int d = d2.Day - d1.Day; return m * 30 + d; }没有考虑跨年的情况
public int GetDays(DateTime d1, DateTime d2) { if ((d2 - d1).TotalDays == 1) return 1; int m = d2.Month - d1.Month; int d = d2.Day - d1.Day; return m * 30 + d; }
用freeboy827的,非常好.然后我把年也加上了 public int GetDays(DateTime d1, DateTime d2) { if ((d2 - d1).TotalDays == 1) return 1; int y = d2.Year - d1.Year; int m = d2.Month - d1.Month; int d = d2.Day - d1.Day; return m * 30 + d + y * 360; } 在网上搜了一下,一些银行就是按照一年360天计算工资的 结贴.
还要的修改一下,否则2月28到3月1号只有1天, public int GetDays(DateTime d1, DateTime d2) { if ((d2 - d1).TotalDays == 1&&d1.Day==31) return 1; int y = d2.Year - d1.Year; int m = d2.Month - d1.Month; int d = d2.Day - d1.Day; return m * 30 + d + y * 360; }
你先判断这两个日期之间月的间隔m
然后再把小日期加上这个间隔减去第二日期d
m*30+d
10月31日到11月1日,10月30日到11月1号都只有1天
相当于excel的days360(),我试过这些数字
public int GetDays(DateTime d1, DateTime d2)
{
int m = d2.Month - d1.Month;
int d = d2.Day - d1.Day;
return m * 30 + d;
}没有考虑跨年的情况
public int GetDays(DateTime d1, DateTime d2)
{
int m = d2.Month - d1.Month;
int d = d2.Day - d1.Day;
return m * 30 + d;
}没有考虑跨年的情况
public int GetDays(DateTime d1, DateTime d2)
{
if ((d2 - d1).TotalDays == 1)
return 1;
int m = d2.Month - d1.Month;
int d = d2.Day - d1.Day; return m * 30 + d;
}
public int GetDays(DateTime d1, DateTime d2)
{
if ((d2 - d1).TotalDays == 1)
return 1;
int y = d2.Year - d1.Year;
int m = d2.Month - d1.Month;
int d = d2.Day - d1.Day;
return m * 30 + d + y * 360;
}
在网上搜了一下,一些银行就是按照一年360天计算工资的
结贴.
public int GetDays(DateTime d1, DateTime d2)
{
if ((d2 - d1).TotalDays == 1&&d1.Day==31)
return 1;
int y = d2.Year - d1.Year;
int m = d2.Month - d1.Month;
int d = d2.Day - d1.Day;
return m * 30 + d + y * 360;
}