MCPcopy Create free account
hub / github.com/chrxh/alien / formatIntern

Function formatIntern

source/Base/StringHelper.cpp:46–77  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

44{
45 template<typename Time_t>
46 std::string formatIntern(Time_t duration)
47 {
48 auto months = std::chrono::duration_cast<std::chrono::months>(duration);
49 duration -= months;
50 auto days = std::chrono::duration_cast<std::chrono::days>(duration);
51 duration -= days;
52 auto hours = std::chrono::duration_cast<std::chrono::hours>(duration);
53 duration -= hours;
54 auto minutes = std::chrono::duration_cast<std::chrono::minutes>(duration);
55 duration -= minutes;
56 auto seconds = std::chrono::duration_cast<std::chrono::seconds>(duration);
57 duration -= seconds;
58
59 std::ostringstream oss;
60 if (months.count() > 0) {
61 oss << std::setw(2) << std::setfill('0') << months.count() << ":";
62 }
63 if (days.count() > 0 || months.count() > 0) {
64 oss << std::setw(2) << std::setfill('0') << days.count() << ":";
65 }
66 if (hours.count() > 0 || days.count() > 0 || months.count() > 0) {
67 oss << std::setw(2) << std::setfill('0') << hours.count() << ":";
68 }
69 oss << std::setw(2) << std::setfill('0') << minutes.count() << ":";
70 oss << std::setw(2) << std::setfill('0') << seconds.count();
71 if (std::is_same_v<Time_t, std::chrono::milliseconds>) {
72 oss << ".";
73 oss << std::setw(3) << std::setfill('0') << duration.count();
74 }
75
76 return oss.str();
77 }
78}
79
80std::string StringHelper::format(std::chrono::seconds duration)

Callers 1

formatMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected