使用C语言如何将一个时间数组转换为UTC时间
答案:4 悬赏:0 手机版
解决时间 2021-01-16 14:06
- 提问者网友:谁的错
- 2021-01-15 20:02
使用C语言如何将一个时间数组转换为UTC时间
最佳答案
- 五星知识达人网友:动情书生
- 2021-01-15 21:17
应该是将时间结构体转为UTC时间。可以使用asctime函数。
1、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为年份。
2、例程:
#include
#include
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;
}
1、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为年份。
2、例程:
#include
#include
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;
}
全部回答
- 1楼网友:野慌
- 2021-01-16 00:19
123
- 2楼网友:西风乍起
- 2021-01-15 23:22
UTC+8=北京时间
char days[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if((year%400==0)||((year%100!=0)&&(year%4==0))) // leap year
days[2]=29;
hour-=8;
if(hour<0)
{
hour+=24;
day--;
if(day<0)
{
month--;
if(month<0)
{
month=12;
year--;
}
day=days[month];
}
}
minute,seconds肯定是不变的...
char days[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if((year%400==0)||((year%100!=0)&&(year%4==0))) // leap year
days[2]=29;
hour-=8;
if(hour<0)
{
hour+=24;
day--;
if(day<0)
{
month--;
if(month<0)
{
month=12;
year--;
}
day=days[month];
}
}
minute,seconds肯定是不变的...
- 3楼网友:走死在岁月里
- 2021-01-15 22:07
typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME;
利用这个结构体吧,我猜想你的输入是一个二维数组,每一行是单个时间信息,对吧?
这样的话每一行依次读取,利用函数将字符转换成数字,写入SYSTEMTIME对应字段
然后将每个SYSTEMTIME实例组成一个数组就行了
利用filetimetosystime或者filetimetosystime,还可以方便的对时间进行计算
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME, *PSYSTEMTIME;
利用这个结构体吧,我猜想你的输入是一个二维数组,每一行是单个时间信息,对吧?
这样的话每一行依次读取,利用函数将字符转换成数字,写入SYSTEMTIME对应字段
然后将每个SYSTEMTIME实例组成一个数组就行了
利用filetimetosystime或者filetimetosystime,还可以方便的对时间进行计算
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯