Mercurial > code
view C++/modules/Date/Date.h @ 468:becd06089e8f
Get rid of Flags, update README
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 04 Nov 2015 21:21:30 +0100 |
parents | 30e4a93f86c7 |
children |
line wrap: on
line source
/* * Date.h -- date and time manipulation * * Copyright (c) 2011-2015 David Demelier <markand@malikania.fr> * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #ifndef _DATE_H_ #define _DATE_H_ /** * @file Date.h * @brief Basic date management. */ #include <cstdint> #include <ctime> #include <string> /** * @class Date * @brief Basic date class and format. */ class Date { private: time_t m_timestamp; public: /** * Default constructor to the current date. */ Date(); /** * Date with specific timestamp. * * @param timestamp the timestamp */ Date(time_t timestamp); /** * Get the timestamp. * * @return the timestamp */ inline time_t timestamp() const noexcept { return m_timestamp; } /** * Format the current that in the specified format, * see strftime(3) for patterns. * * @param format the format * @return the date formated */ std::string format(const std::string &format); }; /** * Check is two dates are identical. * * @param d1 the first date * @param d2 the second date * @return true if same */ bool operator==(const Date &d1, const Date &d2); /** * Check is a date is less or equal the second date. * * @param d1 the first date * @param d2 the second date * @return true if d1 <= d2 */ bool operator<=(const Date &d1, const Date &d2); #endif // !_DATE_H_