Files
radiantwave/src/date_format.cpp
T
2026-08-07 14:51:41 -05:00

38 lines
903 B
C++

#include "date_format.h"
#include <ctime>
namespace radiantwave::datetime {
std::vector<DateFormatOption> getDateFormatOptions() {
return {
{"Month/Day/Year", "%m/%d/%Y"},
{"Day/Month/Year", "%d/%m/%Y"},
{"Year-Month-Day", "%Y-%m-%d"},
{"Month.Day.Year", "%m.%d.%Y"},
{"Day.Month.Year", "%d.%m.%Y"},
{"Month Day, Year", "%B %d, %Y"},
{"Day Month Year", "%d %B %Y"},
};
}
std::string formatDate(std::time_t t, const std::string& pattern) {
std::tm local{};
if (!localtime_r(&t, &local)) {
return "";
}
char buffer[128];
size_t written = strftime(buffer, sizeof(buffer), pattern.c_str(), &local);
if (written == 0) {
return "";
}
return std::string(buffer, written);
}
std::string formatTime(std::time_t t) {
return formatDate(t, "%H:%M:%S");
}
} // namespace radiantwave::datetime