在做一个活动的时候,需要获取某一个时间点的周开始时间点,在调用框架内原本的接口之后发现返回的时间有问题,因此修改原有接口,并记录。
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <time.h>
class Time
{
public:
Time(){}
~Time(){}
public:
int getNow()
{
time_t now = time((time_t *)NULL);
return (int)now;
}
//获取一天的开始时间
int getDayStart()
{
int now = getNow();
if(now < 86400)
return 0;
int _0 = now / 86400 * 86400 - 28800;
if(_0 <= (now - 86400))
_0 += 86400;
return _0;
}
//获取一周开始时间(周一凌晨)
int getWeekStart()
{
int now = getNow();
if(now < 86400 * 7)
return 0;
int _week = now / (86400 * 7) * (86400 * 7) - 86400 * 3 -28800;
if(_week <= (now - (86400 * 7)))
_week += (86400 * 7);
return _week;
}
};
int main()
{
//也可以将时间戳作为参数传入,以获取其他时间点的日/周开始时间
Time cTime;
cTime.getDayStart();
cTime.getWeekStart();
return 0;
}