struct tm GetDayTime(time_t time)
{
struct tm * ptimeDetail;
struct tm timeDetail;
ptimeDetail = localtime ( &time );
memcpy(&timeDetail, ptimeDetail, sizeof(tm));
return timeDetail;
}
time_t GetDayTime(struct tm timeDetail)
{
time_t timeResult = 0;
if( (timeResult = mktime( &timeDetail )) != (time_t)-1 )//time_t mktime(strcut tm * timeptr);
//mktime()用来将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0秒算起至今的UTC时间所经过的秒数
{
return timeResult;
}
else
{
return 0;
}
}
bool IsSameDay(time_t time1, time_t time2)
{
struct tm * ptimeDetail;
struct tm timeDetail1;
struct tm timeDetail2;
ptimeDetail = localtime ( &time1 ); //函数返回本地日历时间
memcpy(&timeDetail1, ptimeDetail, sizeof(tm));
ptimeDetail = localtime ( &time2 );
memcpy(&timeDetail2, ptimeDetail, sizeof(tm));
if( timeDetail1.tm_year == timeDetail2.tm_year && timeDetail1.tm_mon == timeDetail2.tm_mon
&& timeDetail1.tm_mday == timeDetail2.tm_mday)
{
return true;
}
else
{
return false;
}
}
bool IsBirthday(time_t time1, time_t time2)
{
struct tm * ptimeDetail;
struct tm timeDetail1;
struct tm timeDetail2;
ptimeDetail = localtime ( &time1 );
memcpy(&timeDetail1, ptimeDetail, sizeof(tm));
ptimeDetail = localtime ( &time2 );
memcpy(&timeDetail2, ptimeDetail, sizeof(tm));
if( timeDetail1.tm_mon == timeDetail2.tm_mon && timeDetail1.tm_mday == timeDetail2.tm_mday)
{
return true;
}
else
{
return false;
}
}
本文介绍了如何使用C语言进行时间的获取、转换以及比较的方法。包括如何通过localtime和mktime函数来处理时间数据,并提供了判断两个时间是否为同一天及是否为同一个生日的具体实现。
1374

被折叠的 条评论
为什么被折叠?



