Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static inline uint32_t get_week_expiration(time_t offer_time)
- {
- using namespace boost::gregorian;
- using namespace boost::posix_time;
- first_day_of_the_week_after next_week_start(Monday);
- date epoch(1970, Jan, 1), offer_date = epoch + date_duration(offer_time / 1_day),
- current_date = epoch + date_duration(time(nullptr) / 1_day);
- date_period weekend(next_week_start.get_date(current_date) - date_duration(2), next_week_start.get_date(current_date));
- if (!weekend.contains(offer_date) || !weekend.contains(current_date))
- return 0;
- time_t expiration = static_cast<time_t>((ptime(next_week_start.get_date(current_date)) - ptime(epoch)).total_seconds());
- return expiration;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement