*
*/
-#include <common/time.hpp>
+#include <common/compat/errno.hpp>
#include <common/error.hpp>
+#include <common/exception.hpp>
#include <common/macros.hpp>
-#include <common/error.hpp>
-#include <common/compat/errno.hpp>
-#include <stddef.h>
-#include <stdint.h>
+#include <common/time.hpp>
+
+#include <algorithm>
#include <limits.h>
-#include <pthread.h>
#include <locale.h>
+#include <pthread.h>
+#include <stddef.h>
+#include <stdint.h>
#include <string.h>
-#include <algorithm>
static bool utf8_output_supported;
end:
return ret;
}
+
+std::string lttng::utils::time_to_iso8601_str(std::time_t time)
+{
+ std::string iso8601_str(ISO8601_STR_LEN, '\0');
+ const auto ret = ::time_to_iso8601_str(time, &iso8601_str[0], iso8601_str.capacity());
+
+ if (ret) {
+ LTTNG_THROW_ERROR("Failed to format time to iso8601 format");
+ }
+
+ /* Don't include '\0' in the C++ string. */
+ iso8601_str.resize(iso8601_str.size() - 1);
+
+ return iso8601_str;
+}
#define LTTNG_TIME_H
#include <time.h>
+#include <ctime>
#include <stdbool.h>
+#include <string>
+
#include <common/macros.hpp>
#include <common/compat/time.hpp>
* Returns 0 on success, else -1 on error.
*/
int time_to_iso8601_str(time_t time, char *str, size_t len);
+namespace lttng {
+namespace utils {
+
+std::string time_to_iso8601_str(time_t time);
+
+} /* namespace utils */
+} /* namespace lttng */
int time_to_datetime_str(time_t time, char *str, size_t len);