|
@@ -223,34 +223,34 @@ size_t strftime(char* destination, size_t max_size, const char* format, const st
|
|
builder.append(mon_long_names[tm->tm_mon]);
|
|
builder.append(mon_long_names[tm->tm_mon]);
|
|
break;
|
|
break;
|
|
case 'C':
|
|
case 'C':
|
|
- builder.appendf("%02d", (tm->tm_year + 1900) / 100);
|
|
|
|
|
|
+ builder.appendff("{:02}", (tm->tm_year + 1900) / 100);
|
|
break;
|
|
break;
|
|
case 'd':
|
|
case 'd':
|
|
- builder.appendf("%02d", tm->tm_mday);
|
|
|
|
|
|
+ builder.appendff("{:02}", tm->tm_mday);
|
|
break;
|
|
break;
|
|
case 'D':
|
|
case 'D':
|
|
- builder.appendf("%02d/%02d/%02d", tm->tm_mon + 1, tm->tm_mday, (tm->tm_year + 1900) % 100);
|
|
|
|
|
|
+ builder.appendff("{:02}/{:02}/{:02}", tm->tm_mon + 1, tm->tm_mday, (tm->tm_year + 1900) % 100);
|
|
break;
|
|
break;
|
|
case 'e':
|
|
case 'e':
|
|
- builder.appendf("%2d", tm->tm_mday);
|
|
|
|
|
|
+ builder.appendff("{:2}", tm->tm_mday);
|
|
break;
|
|
break;
|
|
case 'h':
|
|
case 'h':
|
|
builder.append(mon_short_names[tm->tm_mon]);
|
|
builder.append(mon_short_names[tm->tm_mon]);
|
|
break;
|
|
break;
|
|
case 'H':
|
|
case 'H':
|
|
- builder.appendf("%02d", tm->tm_hour);
|
|
|
|
|
|
+ builder.appendff("{:02}", tm->tm_hour);
|
|
break;
|
|
break;
|
|
case 'I':
|
|
case 'I':
|
|
- builder.appendf("%02d", tm->tm_hour % 12);
|
|
|
|
|
|
+ builder.appendff("{:02}", tm->tm_hour % 12);
|
|
break;
|
|
break;
|
|
case 'j':
|
|
case 'j':
|
|
- builder.appendf("%03d", tm->tm_yday + 1);
|
|
|
|
|
|
+ builder.appendff("{:03}", tm->tm_yday + 1);
|
|
break;
|
|
break;
|
|
case 'm':
|
|
case 'm':
|
|
- builder.appendf("%02d", tm->tm_mon + 1);
|
|
|
|
|
|
+ builder.appendff("{:02}", tm->tm_mon + 1);
|
|
break;
|
|
break;
|
|
case 'M':
|
|
case 'M':
|
|
- builder.appendf("%02d", tm->tm_min);
|
|
|
|
|
|
+ builder.appendff("{:02}", tm->tm_min);
|
|
break;
|
|
break;
|
|
case 'n':
|
|
case 'n':
|
|
builder.append('\n');
|
|
builder.append('\n');
|
|
@@ -259,27 +259,27 @@ size_t strftime(char* destination, size_t max_size, const char* format, const st
|
|
builder.append(tm->tm_hour < 12 ? "a.m." : "p.m.");
|
|
builder.append(tm->tm_hour < 12 ? "a.m." : "p.m.");
|
|
break;
|
|
break;
|
|
case 'r':
|
|
case 'r':
|
|
- builder.appendf("%02d:%02d:%02d %s", tm->tm_hour % 12, tm->tm_min, tm->tm_sec, tm->tm_hour < 12 ? "a.m." : "p.m.");
|
|
|
|
|
|
+ builder.appendff("{:02}:{:02}:{:02} {}", tm->tm_hour % 12, tm->tm_min, tm->tm_sec, tm->tm_hour < 12 ? "a.m." : "p.m.");
|
|
break;
|
|
break;
|
|
case 'R':
|
|
case 'R':
|
|
- builder.appendf("%02d:%02d", tm->tm_hour, tm->tm_min);
|
|
|
|
|
|
+ builder.appendff("{:02}:{:02}", tm->tm_hour, tm->tm_min);
|
|
break;
|
|
break;
|
|
case 'S':
|
|
case 'S':
|
|
- builder.appendf("%02d", tm->tm_sec);
|
|
|
|
|
|
+ builder.appendff("{:02}", tm->tm_sec);
|
|
break;
|
|
break;
|
|
case 't':
|
|
case 't':
|
|
builder.append('\t');
|
|
builder.append('\t');
|
|
break;
|
|
break;
|
|
case 'T':
|
|
case 'T':
|
|
- builder.appendf("%02d:%02d:%02d", tm->tm_hour, tm->tm_min, tm->tm_sec);
|
|
|
|
|
|
+ builder.appendff("{:02}:{:02}:{:02}", tm->tm_hour, tm->tm_min, tm->tm_sec);
|
|
break;
|
|
break;
|
|
case 'u':
|
|
case 'u':
|
|
- builder.appendf("%d", tm->tm_wday ? tm->tm_wday : 7);
|
|
|
|
|
|
+ builder.appendff("{}", tm->tm_wday ? tm->tm_wday : 7);
|
|
break;
|
|
break;
|
|
case 'U': {
|
|
case 'U': {
|
|
const int wday_of_year_beginning = (tm->tm_wday + 6 * tm->tm_yday) % 7;
|
|
const int wday_of_year_beginning = (tm->tm_wday + 6 * tm->tm_yday) % 7;
|
|
const int week_number = (tm->tm_yday + wday_of_year_beginning) / 7;
|
|
const int week_number = (tm->tm_yday + wday_of_year_beginning) / 7;
|
|
- builder.appendf("%02d", week_number);
|
|
|
|
|
|
+ builder.appendff("{:02}", week_number);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
case 'V': {
|
|
case 'V': {
|
|
@@ -296,23 +296,23 @@ size_t strftime(char* destination, size_t max_size, const char* format, const st
|
|
--week_number;
|
|
--week_number;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- builder.appendf("%02d", week_number);
|
|
|
|
|
|
+ builder.appendff("{:02}", week_number);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
case 'w':
|
|
case 'w':
|
|
- builder.appendf("%d", tm->tm_wday);
|
|
|
|
|
|
+ builder.appendff("{}", tm->tm_wday);
|
|
break;
|
|
break;
|
|
case 'W': {
|
|
case 'W': {
|
|
const int wday_of_year_beginning = (tm->tm_wday + 6 + 6 * tm->tm_yday) % 7;
|
|
const int wday_of_year_beginning = (tm->tm_wday + 6 + 6 * tm->tm_yday) % 7;
|
|
const int week_number = (tm->tm_yday + wday_of_year_beginning) / 7;
|
|
const int week_number = (tm->tm_yday + wday_of_year_beginning) / 7;
|
|
- builder.appendf("%02d", week_number);
|
|
|
|
|
|
+ builder.appendff("{:02}", week_number);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
case 'y':
|
|
case 'y':
|
|
- builder.appendf("%02d", (tm->tm_year + 1900) % 100);
|
|
|
|
|
|
+ builder.appendff("{:02}", (tm->tm_year + 1900) % 100);
|
|
break;
|
|
break;
|
|
case 'Y':
|
|
case 'Y':
|
|
- builder.appendf("%d", tm->tm_year + 1900);
|
|
|
|
|
|
+ builder.appendff("{}", tm->tm_year + 1900);
|
|
break;
|
|
break;
|
|
case '%':
|
|
case '%':
|
|
builder.append('%');
|
|
builder.append('%');
|