当前位置:首页 » 编程语言 » c语言程序日期转换
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言程序日期转换

发布时间: 2023-05-17 15:58:39

c语言如何将日期2018-08-21转化为18年8月

日期转换:输入某年某月某日,计算并输出它是这一年的第几天。

/* 函数功能:对给定的某年某月某日,计算它是这一年的第几天。

函数参数:整型变量year、month、day,分别代表年、月、日

函数返回值:这一年的第几天*/int DayofYear(int year, int month, int day)。

② C语言中 怎样把日期转换成字符串

用代码讲解一下:
#include <stdio.h>
#include <time.h>
int main(void)
{
char buffer[128];
struct tm *datetime;
time_t current_time;
tzset();
time(¤t_time);
datetime = localtime(¤t_time);
strftime(buffer, sizeof(buffer), "%x %X", datetime);
printf("Using %%x %%X: %s\n", buffer);
strftime(buffer, sizeof(buffer), "%A %B %m, %Y", datetime);
printf("Using %%A %%B %%m %%Y: %s\n", buffer);
strftime(buffer, sizeof(buffer), "%I:%M%p", datetime);
printf("Using %%I:%%M%%p: %s\n", buffer);
return 1;
}

输出结果:
Using %x %X: 09/09/12 18:10:33
Using %A %B %m %Y: Sunday September 09, 2012
Using %I:%M%p: 06:10PM

③ C语言 YYYYMMDD 格式的日期转变为YYYY-MM-DD

#include<stdio.h>
void main()
{
long n;
char data[20],y[10],m[10],d[10];
scanf("顷亮悔%ld",&n);
sprintf(data,"%ld",n); /* 如雀正果是字符串键漏,可以直接scanf("%s",data) */
sscanf(data,"%4s%2s%2s", y, m,d);
sprintf(data,"%4s-%2s-%2s",y, m,d);
printf("%s\n",data);
}

④ 关于C语言的问题。设计一个程序,根据用户的选择,将1、日期转换为天数2、将天数转换为日期。

代码存在一些问题:

#include<stdio.h
#defineMAXNUM114
#defineMAXNUM214
intmain()
{
inta,b,c,Y,M,D,Days;
intDays_[MAXNUM1]={0,31,28,31,30,31,30,31,31,30,31,30,31};
intDate[MAXNUM2]={0,1,2,3,4,5,6,7,8,9,10,11,12};

printf("Plesechoosewhatyouwanttodo. 1.DatechangeDays 2.DayschangeDate ");
scanf("%d",&a);
if(a==1)
{Days=0;
printf("Pleseenteradate(YMD). ");
scanf("%d%d%d",&Y,&M,&D);
if(Y%4==0&&Y%100!=0||Y%400==0)//这里改下
{
for(b=1;b<M;b++)
纯迟if(b==2)//闰年二月加一天
{
Days+=Days_[b]+1; }
else
{
Days+=Days_[b];
}

}else
{
for(b=1;b<M;b++)
{
Days+=Days_[b];
}
}
樱前Days+=D;
printf("Thedatewhichyouenteristhe%ddays. ",Days);
}else//a==2
{
printf("Pleseenteradays.");
scanf("%d",&Days);
for(b=1;b<13;b++)//未考虑年份的问题
{
脊裤清if(Days<=Days_[b])break;
Days-=Days_[b];
}
printf("Thedaywhichyouenteristhe%d\%ddays. ",b,Days);
}
}

上面是简单的实现,希望有帮助

⑤ C语言转换日期的表示形式

这个可以吗?
#include
void
main()
{
char
num[8];//定义一个字符数组num
int
i;//定义整型变量
printf("请输入正确的日期!格式为:xxxxxxxx\n");
for(i=0;i<=8;i++)//循环语句,读入8个字符,依次放到数组num中,作为8个元素
num[i]=getchar();
for(i=0;i<4;i++)//输出前四个字符(年份)
putchar(num[i]);
putchar('_');
for(;i<6;i++)//输出(月份)
putchar(num[i]);
putchar('_');
for(;i<8;i++)//输出(日)
putchar(num[i]);
putchar('\n');//回车
}

⑥ c语言将日期转换为字符串 急求,谢谢!

#include"stdio.h"

int main()

{ int y,m,d,c,w;

char week[7][10]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};

scanf("%d%d%d",&y,&m,&d);

if(m<3){m+=12;y--;}

c=y/100;

y%=100;

w=(y+y/4+c/4-2*c+26*(m+1)/10+d-1)%7;

printf("%d%d/%d/%d %s ",c,y,m,d,week[w]);

return 0;

}

⑦ C语言 时间转化

void convert_sec_time( int nSecond, int &nDay, int &nHour, int &nMin, int &nSec )
{
if( nSecond <= 0 ) return;
//取秒
nSec = nSecond % 60;
//秒到分的取整
nSecond = nSecond - nSec;
//折算成分
nSecond = int( nSecond / 60 );
//取分
nMin = nSecond % 60;
//分到时的取整
nSecond = nSecond - nMin;
//折算成时
nSecond = int( nSecond / 60 );
//取时
nHour = nSecond % 24;
//时到天的取整
nSecond = nSecond - nHour;
//取天
nDay = int( nSecond / 24 );
}

⑧ C语言:日期换算

#include<stdio.h>
intisLeap(inty)
{
if(y%4==0&&y%100!=0||y%400==0)
return1;
else
return0;
}
intgetDays(inty,intm,intd)
{
inti,days=0;
intDaysPerMonth[]={31,28,31,30,31,30,31,31,30,31,30,31};
DaysPerMonth[1]=isLeap(y)?29:28;
for(i=0;i<m-1;i++)
{
days+=DaysPerMonth[i];
}
days+=d;
returndays;
}
voidgetDate(inty,intdays,int*pm,int*pd)
{
intm,d,i,temp=0;
intDaysPerMonth[]={31,28,31,30,31,30,31,31,30,31,30,31};
DaysPerMonth[1]=isLeap(y)?29:28;
for(i=0;i<12;i++)
{
if(temp<days&&i<12&&temp+DaysPerMonth[i]>=days)
break;
temp+=DaysPerMonth[i];
}
m=i+1;
d=days-temp;
*pm=m;
*pd=d;
}
intmain()
{
inty,m,d,days;
y=2000;
days=getDays(y,12,31);
printf("%d ",days);
getDate(y,days,&m,&d);
printf("%d年的第%d天是%d月%d号 ",y,days,m,d);
return0;
}

⑨ C语言转换日期的表示形式

#include <stdio.h>
#include <string.h>
int main()
{int month,b,c;
scanf("%d/%d/%d",&month,&b,&c);
switch(month)
{
case 1:printf("Jan,%d,%d\n",b,c);
break;
case 2:printf("Feb,%d,%d\n",b,c);
break;
case 3:printf("Mar,%d,%d\n",b,c);
break;
case 4:printf("Apr,%d,%d\n",b,c);
break;
case 5:printf("May,%d,%d\n",b,c);
break;
case 6:printf("Jun,%d,%d\n",b,c);
break;
case 7:printf("Jul,%d,%d\n",b,c);
break;
case 8:printf("Aug,%d,%d\n",b,c);
break;
case 9:printf("Sep,%d,%d\n",b,c);
break;
case 10:printf("Oct,%d,%d\n",b,c);
break;
case 11:printf("Nov,%d,%d\n",b,c);
break;
case 12:printf("Dec,%d,%d\n",b,c);
break;
default:printf("Data Error\n");
}
return 0;
}

⑩ c语言怎么将一个年月日转换成秒数

用mktime()函数。

表头文件:#include <time.h>

定义函数:time_tmktime(structtm*timeptr);

函数说明:mktime()用来将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0秒算起至今的UTC时间所经过的秒数。

返回值:返回经过的秒数。

(10)c语言程序日期转换扩展阅读:

C语言参考函数

C语言isgraph()函数:判断一个字符是否是图形字符

C语言isdigit()函数:判断一个字符是否为数字

C语言iscntrl()函数:判断一个字符是否为控制字符

C语言isalpha()函数:判断一个字符是否是字母

C语言isalnum()函数:判断一个字符是否是字母或者数字

C语言pow()函数:求x的y次方的值

C语言frexp()函数:提取浮点数的尾数和指数部分