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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言将日期转换为字符串 急求,谢谢!相关的知识,希望对你有一定的参考价值。

如2015年11月22日转换为“2015/11/22 Sunday”,2015年1月1日转换为“2015/01/01 Thursday”。函数输入参数为整数型的年,月,日,返回值为字符指针,指向转换得到的字符串。星期信息在函数中自行推断,已知2015年11月25日为星期三,可推算之前或之后的日期是星期几。

主程序依次读入3个整数,分别表示年、月、日,然后输出转换得到的字符串。

例如:

输入:2015 11 28

输出:2015/11/28 Saturday

参考技术A

#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\\n",c,y,m,d,week[w]);

  return 0;

本回答被提问者和网友采纳

c语言,如何进行日期格式转换??

请问如何将日期格式用c语言进行转换,例如:
11/12/2010 转换成 11th Dec 2010
13/12/2010 13rd Dec 2010

1、C里没有相应的库,只能用asctime函数转换成一种固定格式。如果要转换,可以用sprintf把各种数据以“ 1980-01-02 02:03:55 ” 这种标准格式,格式到一个字符串中。

2、asctime函数:
原型:char* asctime (const struct tm * timeptr);
功能:把timeptr指向的tm结构体中储存的时间转换为字符串;
头文件:time.h;
返回值:一个固定格式的字符串。字符串格式为:Www Mmm dd hh:mm:ss yyyy。其中Www为星期,Mmm为月份,dd为日,hh为时,mm为分,ss为秒,yyyy为年份。
3、例程:

#include<time.h>
#include<stdio.h>
int main()
    time_t rawtime;
    struct tm * timeinfo;
    time(&rawtime);
    timeinfo = localtime(&rawtime);//使用localtime函数把秒数时间rawtime转换为本地时间以tm结构体保存,并把tm结构体地址储存到timeinfo当中
    printf("当前日期为: %s",asctime(timeinfo));//使用asctime函数把tm结构体中储存的时间转换为字符串,并输出
    return 0;

参考技术A time.h 有函数 strftime 输出各种格式,但没有 你的 11th 13rd 格式。
简单办法是用查表法

#include "stdio.h"
#include "stdlib.h"
void main()

char dmy[20]="13/12/2010";
int i,j;
int a,b,c;
char d[32][5]="0","1st","2nd","3rd","4th","5th","6th","7th","8th","9th","10th",
"11th","12th","13rd","14th","15th","16th","17th","18th",
"19th",.....,"31st"; // 请自己补全
char m[13][4]=" ","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec";
j = strlen(dmy);
printf("j=%d\n",j);
for (i=0;i<j ;i++) if ( dmy[i] =='/') dmy[i]=' ';
sscanf(dmy,"%d %d %d",&a,&b,&c);
printf("%s %s %d",d[a],m[b],c); // 打印出你要的 13rd Dec 2010

参考技术B c里没有相应的库
但你可以用sprintf把各种数据以“
1980-01-02
02:03:55

这种标准格式,格式到一个字符串中就可以了

以上是关于c语言将日期转换为字符串 急求,谢谢!的主要内容,如果未能解决你的问题,请参考以下文章

如何实现秒数和日期之间的转换

c语言,如何进行日期格式转换??

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

如何将公历日期转换为波斯日期?

将日期字符串转换为 mysql 日期时间字段

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