c++获取某个时间戳的当日开始时间和周开始时间

在做一个活动的时候,需要获取某一个时间点的周开始时间点,在调用框架内原本的接口之后发现返回的时间有问题,因此修改原有接口,并记录。

#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;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值