32#ifdef CPP20_CHRONO_SUPPORT
33 const auto now = std::chrono::system_clock::now();
34 std::string format_string;
36 auto curr_time = std::chrono::year_month_weekday{std::chrono::floor<std::chrono::days>(now)};
37 auto save_time = std::chrono::year_month_weekday{std::chrono::floor<std::chrono::days>(
t)};
39 if(curr_time == save_time) {
49 }
else if(curr_time.month() == save_time.month() && curr_time.index() == save_time.index()) {
59 }
else if(curr_time.year() == save_time.year()) {
63 format_string =
_(
"%b %d");
69 format_string =
_(
"%b %d %Y");
72 const auto now = std::chrono::system_clock::now();
74 auto as_time_t = std::chrono::system_clock::to_time_t(now);
75 std::tm current_time{};
80 as_time_t = std::chrono::system_clock::to_time_t(
t);
86 std::string format_string;
88 if(current_time.tm_year == save_time.tm_year) {
89 const int days_apart = current_time.tm_yday - save_time.tm_yday;
92 if(
prefs::get().use_twelve_hour_clock_format() ==
false) {
95 format_string =
_(
"%H:%M");
100 format_string =
_(
"%I:%M %p");
102 }
else if(days_apart > 0 && days_apart <= current_time.tm_wday) {
104 if(
prefs::get().use_twelve_hour_clock_format() ==
false) {
107 format_string =
_(
"%A, %H:%M");
112 format_string =
_(
"%A, %I:%M %p");
118 format_string =
_(
"%b %d");
124 format_string =
_(
"%b %d %Y");
128 assert(!format_string.empty());
static std::string _(const char *str)