c++如何提取当前时间转换成8个字节
3个回答
展开全部
#include <time.h>
#include <stdio.h>
char *getCurrentTimeStr()
{
time_t now;
struct tm *p_now = NULL;
static char currentTime[9];
if (time(&now) == -1) {
fprintf(stderr, "Can not get time\n");
return NULL;
}
//p_now = gmtime(&now);//UTC 时间
p_now = localtime(&now);//经过时区转换后的时间
sprintf(currentTime, "%02d:%02d:%02d\n",p_now->tm_hour,
p_now->tm_min, p_now->tm_sec);
return currentTime;
}
int main()
{
char *now = NULL;
now = getCurrentTimeStr();
if (now) {
printf("currnet time : %s\n", now);
}
return 0;
}
注意:上面程序不支持多线程
struct tm 的定义如下:
struct tm {
int tm_sec; /* seconds */
int tm_min; /* minutes */
int tm_hour; /* hours */
int tm_mday; /* day of the month */
int tm_mon; /* month */
int tm_year; /* year */
int tm_wday; /* day of the week */
int tm_yday; /* day in the year */
int tm_isdst; /* daylight saving time */
};
展开全部
SYSTEMTIME systime;
然后getSystemTime(&systime);
这样就获取了系统时间;我们发现SYSTEMTIME中包含的年月周日、时分秒 毫秒一共有16个字节,每个属性占2个字节。 你想要8个字节 的系统时间那就看你需要取哪些信息咯
然后getSystemTime(&systime);
这样就获取了系统时间;我们发现SYSTEMTIME中包含的年月周日、时分秒 毫秒一共有16个字节,每个属性占2个字节。 你想要8个字节 的系统时间那就看你需要取哪些信息咯
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
time_t currTime = time(NULL);
struct tm* pTm = localtime(&currTime);
然后这个tm的结构里,所有想要的,自己选吧
sprintf(timeStr, "%04d%02d%02d%02d%02d%02d",
pTm->tm_year + 1900,
pTm->tm_mon + 1,
pTm->tm_mday,
pTm->tm_hour,
pTm->tm_min,
pTm->tm_sec );
struct tm* pTm = localtime(&currTime);
然后这个tm的结构里,所有想要的,自己选吧
sprintf(timeStr, "%04d%02d%02d%02d%02d%02d",
pTm->tm_year + 1900,
pTm->tm_mon + 1,
pTm->tm_mday,
pTm->tm_hour,
pTm->tm_min,
pTm->tm_sec );
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询