none
String mit Uhrzeit formatieren RRS feed

  • Frage

  • Hallo,

    in meiner ASP.NET - Anwendung benutze ich folgenden Ausdruck, um eine Zeit darzustellen:

    @TimeSpan.FromHours(@Model.AllDatas.SunMoonRiseSet.SunRise).ToString("h\\:mm")
    

    Die Zeit wird linksbündig angezeigt. Zu sehen auf astro-me.de/, in der Tabelle unter Sun und Mood -Rise / -Set.
    Ich hätte aber gerne, dass wenn die Stunden der Uhrzeit einstellig sind, es eine Einrückung gibt, statt einer "0" wie bei 8:37 bzw. 08:37. Dann nämlich würden verschiedene Uhrzeiten schön untereinander stehen. Etwa so:

      8:37
    16:48

    Aber wie muss das String-Format dafür aussehen?

    Grüße,
    von Frank


    www.energiewende-mach-ich-selbst.de

    Mittwoch, 20. Dezember 2017 11:14

Antworten

  • Hallo Frank,

    schön untereinander steht das aber auch nur bei einer passend gewählten Schriftart. Wenn in der aktuellen Schriftart das Leerzeichen nicht so breit ist wie die anderen Zeichen (oder bspw. auch die 2 breiter als die 1), sieht das auch nicht sonderlich schön aus. (Wie Du ja beim Schreiben deines Postings auch selbst bemerkt hast, da Du vor 8:37 zwei Leerzeichen einfügen musstest, damit es "hübsch" aussieht)

    Du solltest hier lieber den entsprechenden Bereich über CSS rechtsbündig ausrichten.

    Meist macht man das über text-align: right;

    Wenn Du es unbedingt über ein Leerzeichen machen willst:

    String.Format( "{0,5:H:mm}", <Datum> )

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community



    Mittwoch, 20. Dezember 2017 11:23
    Moderator

Alle Antworten

  • Hallo Frank,

    schön untereinander steht das aber auch nur bei einer passend gewählten Schriftart. Wenn in der aktuellen Schriftart das Leerzeichen nicht so breit ist wie die anderen Zeichen (oder bspw. auch die 2 breiter als die 1), sieht das auch nicht sonderlich schön aus. (Wie Du ja beim Schreiben deines Postings auch selbst bemerkt hast, da Du vor 8:37 zwei Leerzeichen einfügen musstest, damit es "hübsch" aussieht)

    Du solltest hier lieber den entsprechenden Bereich über CSS rechtsbündig ausrichten.

    Meist macht man das über text-align: right;

    Wenn Du es unbedingt über ein Leerzeichen machen willst:

    String.Format( "{0,5:H:mm}", <Datum> )

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community



    Mittwoch, 20. Dezember 2017 11:23
    Moderator
  • Hallo Stefan,

    nein, ich möchte es nicht über ein Leerzeichen machen aus den von Dir genannten Gründen.
    Aber ich dachte, es könnte ein spezielles Format für dieses "Zeitproblem" geben.
    Natürlich kann ich auch über cms rechtsbündig...
    Aber ich finde linksbündig schon korrekt (wie auch bei den 20 anderen Parametern darunter), 
    nur wäre es eben schön, wenn die Zeiten (bei denen die Stunden mal einstellig und mal zweistellig sein könnten) schön untereinander stehen. Die Leerzeichen habe ich nur benutzt um anzudeuten, was ich meine.

    Grüße,
    von Frank


    www.energiewende-mach-ich-selbst.de

    Mittwoch, 20. Dezember 2017 13:34
  • Hallo Frank,

    entweder eben rechtsbündig (mit entsprechender Formatierung der Breiten geht das dann auch mit den anderen Werten untendrunter) oder mit Leerzeichen wie im Beispiel gezeigt. Andere Optionen hast Du da nicht.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    • Als Antwort markiert frank me Mittwoch, 20. Dezember 2017 14:28
    • Tag als Antwort aufgehoben frank me Mittwoch, 20. Dezember 2017 14:28
    Mittwoch, 20. Dezember 2017 14:22
    Moderator
  • Mittwoch, 20. Dezember 2017 14:28