mirror of
https://github.com/fmtlib/fmt.git
synced 2025-03-15 16:20:59 +00:00
Fix wchar_t tm formatting
This commit is contained in:
parent
92614ecbf9
commit
d9fd695ac7
@ -564,10 +564,13 @@ template <typename Char> struct formatter<std::tm, Char> {
|
||||
while (end != ctx.end() && *end != '}') ++end;
|
||||
auto size = detail::to_unsigned(end - it);
|
||||
specs = {it, size};
|
||||
if (specs == string_view("%F", 2))
|
||||
spec_ = spec::year_month_day;
|
||||
else if (specs == string_view("%T", 2))
|
||||
spec_ = spec::hh_mm_ss;
|
||||
// basic_string_view<>::compare isn't constexpr before C++17
|
||||
if (specs.size() == 2 && specs[0] == Char('%')) {
|
||||
if (specs[1] == Char('F'))
|
||||
spec_ = spec::year_month_day;
|
||||
else if (specs[1] == Char('T'))
|
||||
spec_ = spec::hh_mm_ss;
|
||||
}
|
||||
return end;
|
||||
}
|
||||
|
||||
|
@ -261,6 +261,8 @@ TEST(xchar_test, chrono) {
|
||||
EXPECT_EQ(fmt::format("The date is {:%Y-%m-%d %H:%M:%S}.", tm),
|
||||
"The date is 2016-04-25 11:22:33.");
|
||||
EXPECT_EQ(L"42s", fmt::format(L"{}", std::chrono::seconds(42)));
|
||||
EXPECT_EQ(fmt::format(L"{:%F}", tm), L"2016-04-25");
|
||||
EXPECT_EQ(fmt::format(L"{:%T}", tm), L"11:22:33");
|
||||
}
|
||||
|
||||
TEST(xchar_test, color) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user