用C语言实现:首先获取系统时钟,然后时钟数据格式为:年月日时分秒(YYYYMMDDHHMMSS)
用C语言实现:首先获取系统时钟,然后时钟数据格式为:年月日时分秒(YYYYMMDDHHMMSS),所有数据均已数值方式表示。其中年分为2字节(低位在前,高位在后),其余为一个字节。如1997年6月21日10:32:55的表示为CD0706150A037. 展开
#include <stdio.h>
#include <time.h>
int main()
{
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
int year,month,day,hour,min,sec;
year = 1900+timeinfo->tm_year;
month = 1+timeinfo->tm_mon;
day = timeinfo->tm_mday;
hour = timeinfo->tm_hour;
min = timeinfo->tm_min;
sec = timeinfo->tm_sec;
printf ( "当前时间:%4d-%02d-%02d %02d:%02d:%02d\n\n",year, month,day,hour,min,sec);
printf ( "你需要的格式:%4d%02d%02d%02d%02d%02d\n\n",year, month,day,hour,min,sec);
char hyy[2],lyy[2],MM[2],dd[2],hh[2],mm[2],ss[2];
sprintf(hyy,"%02X",year/100);
sprintf(lyy,"%02X",year%100);
sprintf(MM,"%02X",month);
sprintf(dd,"%02X",day);
sprintf(hh,"%02X",hour);
sprintf(mm,"%02X",min);
sprintf(ss,"%02X",sec);
printf("转化为16进制:%02s%02s%02s%02s%02s%02s%02s\n",hyy,lyy,MM,dd,hh,mm,ss);
//exit(0);
return 0;
}
说明:我用VC6.0现写的,运行结果截图如下:
你太厉害了!!!还有个问题,我到时候要调用这个函数,所以我想把得出来的十六进制统一放到一个数组中,再输出。但是我放了以后就不合适了
char time[7]={hyy[0],lyy[0],MM[0],dd[0],hh[0],mm[0],ss[0]};
for(int j=0;j < 7;j++)
printf("转化为16进制:%02s\n",time[i);
您能不能再帮忙看看!!感谢感谢!!
char time[7]={hyy[0],lyy[0],MM[0],dd[0],hh[0],mm[0],ss[0]};
同学,你这么写是错的,这是字符数组,不是整型数字;
我不是应经帮你把转化后的16进制存放到了数组中了吗,
就是这些数组啊:hyy[2],lyy[2],MM[2],dd[2],hh[2],mm[2],ss[2];就是为了方便你调用啊
比如,我要输出月份的16进制,就直接输出:
printf("%02s\n",MM);
#include <stdio.h>
#include <time.h>
int main () {
time_t rawtime;
time(&rawtime);
struct tm *timeinfo;
timeinfo = localtime(&rawtime);
printf("%04X%02X%02X%02X%02X%02X\n",
1900 + timeinfo->tm_year,
1 + timeinfo->tm_mon,
timeinfo->tm_mday,
timeinfo->tm_hour,
timeinfo->tm_min,
timeinfo->tm_sec
);
return 0;
}
#include <stdlib.h>
#include <time.h>
int main ()
{
char szTime[32];
time_t tmtime;
struct tm *tmi;
//取当前时间
time(&tmtime);
tmi = localtime(&tmtime);
sprintf(szTime, "%04d", 1900 + tmi->tm_year);
unsigned short int iYear = atoi(szTime);
printf("%02X%02X%02X%02X%02X%02X%02X\n",
iYear&0x00ff,
iYear>>8,
1 + tmi->tm_mon,
tmi->tm_mday,
tmi->tm_hour,
tmi->tm_min,
tmi->tm_sec
);
return 0;
}