DateTime.ToString(...) - "09h 52m 45s"

DateTime.ToString(...) - "09h 52m 45s"
xeo545x39
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kosmos
  • Postów: 1571
0

Tak jak w temacie chciałbym uzyskać format "09h 52m 45s". Niestety literki akurat pokrywają się z formatem, więc jak to zrobić w jednej metodzie po ludzku, bez łączenia stringów itp.? Pomóżcie, bo mnie zaćmiło :| Takie coś nie pyka, no wiadomo - .ToString("hhh mmm sss");

RE
  • Rejestracja: dni
  • Ostatnio: dni
0

DLACZEGO

NIE

SPRAWDZIŁEŚ

W

DOKUMENTACJI

!?

xeo545x39
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kosmos
  • Postów: 1571
0

Znalazłem to, wcześniej nie pomyślałem w ogóle o tym: '\Mon\t\h\: M': Month: 6, tyle, że jak daję u siebie "HHh:mm\m:ss\s" to wali Unrecognized escape sequence.

Markness
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
 DateTime.Now.ToString("hhh'h' mmm'm' sss's'")

o coś takiego chodzi?

RE
  • Rejestracja: dni
  • Ostatnio: dni
0

albo @"HH\h mm\m ss\s" albo "HH\h mm\m ss\s"

xeo545x39
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kosmos
  • Postów: 1571
0

@Rev właśnie tak zrobiłem i rzuca mi FormatException: Input string was not in a correct format.

Kopiuj
lblUptime.Text = (DateTime.Now - server.StartTime).ToString(@"HH\h mm\m ss\s");
RE
  • Rejestracja: dni
  • Ostatnio: dni
2

Geez, bo wynik odejmowania DateTime to TimeSpan, w którym nie ma specyfikatora HH tylko hh.

xeo545x39
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kosmos
  • Postów: 1571
0

Dobra, ostatecznie wyszło @"hh\h' 'mm\m' 'ss\s" i działa. Dzięki.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.