‘壹’ 如何用c语言来计算日期间隔天数
楼上的说的太麻烦了(真是傻瓜做法)//定义两个时间DateTime time1=Convert.ToDateTime("2006-05-23");DateTime time2=Convert.ToDateTime("2045-12-15");//计算间隔天数(精确到毫秒格式为“2222.22.22.2222”)TimeSpan span = (TimeSpan)(time2-time1);int result = Convert.ToInt32(Convert.ToString(span).SubString(0,Convert.ToString(span).IndexOf(".")));//result就是你要的天数
‘贰’ c语言计算从1月1号到给定日期的天数
#include<stdio.h>
intIsLeapYear(intyear)
{
return((year%4==0)&&(year%100!=0)||year%400==0);
}
intdayOfMonth(intyear,intmonth)
{
intday=0;
switch(month){
case1:
case3:
case5:
case7:
case8:
case10:
case12:
day=31;
break;
case2:
day=28+IsLeapYear(year);
break;
default:
day=30;
break;
}
returnday;
}
intdays(inty,intm,intd)
{
inti,j;
inttotal=0;
for(i=1;i<=y-1;i++)
{
//1.1-12.23
for(j=1;j<=12;j++)
total+=dayOfMonth(i,j);
}
//1-m-1
for(j=1;j<=m-1;j++)
total+=dayOfMonth(y,j);
total+=d;
returntotal;
}
char*month_str={"January","February","March","April",
"May","June","July","August","September","October",
"November","December"};
intmain()
{
intn,i;
intyear=1;//默认是公元1年,需要计算闰年,可以通过输入修改
inta[20][3]={0};
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d%d",&a[i][0],&a[i][1]);
a[i][2]=days(year,a[i][0],a[i][1])-days(year,1,1);
}
printf(" ");
printf("DATE DAYSFROM1JANUARY ");
for(i=0;i<n;i++)
printf("%d%s %d ",a[i][1],month_str[(a[i][0]-1)%12],a[i][2]);
}
‘叁’ 如何用C语言计算日期间离天数
我学C#、Java的,对C不是很了解,仅仅提供个思路:
请问一下C有没有日期函数?有吧应该?
如果有的话,是不是能返回自1970年1月1日起到你输入的日期的毫秒数呢?
能返回的话,你输入的两个时间都换成毫秒数,一减,得到的不就是两个
日期相差的毫秒数?
然后把毫秒数换算成天数不就成了?
‘肆’ c语言由天数算日期
如果知道一个指定日期以及要求指定天数,以后是什么日期,可以通过计算到当月月末有几天,然后再减去接下来的一个月的天数。逐个月模拟的进行推算。
‘伍’ 用c语言编程计算两个日期之间的天数
直接算两个日期距离公元元年1月1日的天数:
若干个完整的年,若干个完整的月,若干天,加起来之后两个天数相减就行了.
日期的合法性,闰年之类的就不罗嗦了.
‘陆’ 用c语言编写计算两个日期之间的天数
#include <time.h>
#include <stdio.h>
void main()
{
tm t1={0},t2={0};
t1.tm_year = 1999-1900;
t1.tm_mon = 2-1;
t1.tm_mday = 3;
t2.tm_year = 2015-1900;
t2.tm_mon = 5-1;
t2.tm_mday = 4;
time_t a1 = mktime(&t1);
time_t a2 = mktime(&t2);
printf("相差%d天", (a2-a1)/86400);
}
ps:看不懂了再追问