
Excel中怎么计算两个日期的时间差,下面一起来看看吧,希望对大家有所帮助。
1、首先在打开的表格中,在单元格D35中输入公式DATEDIF(A35、B35、"YM")YM表起始日期、结束日期月数差。
2、在单元格E35中输入公式DATEDIF(A35、B35、"MD")MD表起始日期、结束日期天数差。
3、接着在单元格F35中输入公式DATEDIF(A35、B35、"D")D表示时间段中的天数。
4、最后即可得到例子中的日期之间相差两年三个月零四天,共相差826天。
结果:相差569天
#include <stdio.h>
#ifndef __SDATE__
#define __SDATE__
struct SDate {
short int year
short int month
short int day
}
#endif
int IsLeapYear(short year)
int DaysOfOneYear(SDate sd)
int SDateToAbsDays(SDate sd)
int IsLeapYear(short year) {
return year%4==0&&year%100||year%400==0
}
int DaysOfOneYear(SDate sd) {
switch(sd.month-1) {
case 11:
sd.day+=30
case 10:
sd.day+=31
case 9:
sd.day+=30
case 8:
sd.day+=31
case 7:
sd.day+=31
case 6:
sd.day+=30
case 5:
sd.day+=31
case 4:
sd.day+=30
case 3:
sd.day+=31
case 2:
sd.day+=IsLeapYear(sd.year)?29:28
case 1:
sd.day+=31
}
return sd.day
}
int SDateToAbsDays(SDate sd) {
int years = sd.year -1
int days = years*365 + years/4 - years/100 + years/400
days+=DaysOfOneYear(sd)
return days
}
int main()
{
SDate d1={2008,3,16},d2={2009,10,6}
int day=SDateToAbsDays(d2)-SDateToAbsDays(d1)
printf("相差%d天\n",day)
}
比如A1单元格是2015/1/1 B1单元格是2015/2/1两个单元格的日期之差需要显示在C1单元格里 需要在C1单元格里写上如下
=datedif(A1,B1,"d") 或者
=datedif(A1,B1,"m") 或者
=datedif(A1,B1,"y")
三个公式分别是相差天数、月数、年数
PS:如果求A1单元格和当天日期所差 可以这样:
=datedif(A1,today(),"d")
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)