wake-up-neo.com

Formatieren Sie Datum / Uhrzeit in XAML in Silverlight

Ich habe eine Silverlight 4-Anwendung. Ich habe ein C # DateTime-Objekt, das ich an meine Benutzeroberfläche binde. Ich möchte, dass diese DateTime im Format dd/mm/yyyy Time (TimeZone) vorliegt. Beispielsweise würde heute angezeigt als

04/07/2011 at 01:13 p.m. (EST)

Gibt es eine Möglichkeit, dies zu tun XAML? Oder muss ich einen Konverter bauen?

65
user687554
<TextBlock Text="{Binding Date, StringFormat='{}{0:MM/dd/yyyy a\\t h:mm tt}'}" />

ich werde dich zurückbringen

04/07/2011 um 1:28 PM (-04)

103
Vlad Bezden

Sie können StringFormat in Silverlight 4 verwenden, um eine benutzerdefinierte Formatierung des Werts bereitzustellen, an den Sie binden.

Termine

Die Datumsformatierung bietet eine Vielzahl von Optionen.

Für die DateTime vom 17. April 2004, 13:52:45 Uhr

Sie können entweder eine Reihe von Standardformaten (Standardformaten) verwenden ...

StringFormat=f : “Saturday, April 17, 2004 1:52 PM”
StringFormat=g : “4/17/2004 1:52 PM”
StringFormat=m : “April 17”
StringFormat=y : “April, 2004”
StringFormat=t : “1:52 PM”
StringFormat=u : “2004-04-17 13:52:45Z”
StringFormat=o : “2004-04-17T13:52:45.0000000”

… Oder Sie können Ihre eigene Datumsformatierung mit Buchstaben erstellen (benutzerdefinierte Formate)

StringFormat=’MM/dd/yy’ : “04/17/04”
StringFormat=’MMMM dd, yyyy g’ : “April 17, 2004 A.D.”
StringFormat=’hh:mm:ss.fff tt’ : “01:52:45.000 PM”
59
BrokenGlass

sie können auch nur verwenden

StringFormat=d

in Ihrer Datagrid-Spalte wird das Datum und die Uhrzeit angezeigt

endlich wird es so sein

   <sdk:DataGridTextColumn  Binding="{Binding Path=DeliveryDate,StringFormat=d}" Header="Delivery date" Width="*" />

die Ausgabe wird so aussehen

enter image description here

10
atik sarker

C #: versuchen Sie dies

  • jJJJ (JJ/JJJ) - Jahre
  • MM - Monate (wie '03'), MMMM - Monate (wie 'März')
  • tT - Tage (wie 09), TTD/TTD - Tage (So/Sonntag)
  • hh - Stunde 12 (AM/PM), HH - Stunde 24
  • mm - Minute
  • ss - Sekunde

Verwenden Sie einen Begrenzer wie diesen:

  1. MessageBox.Show (DateValue.ToString ("yyyy-MM-dd")); Beispielergebnis: "2014-09-30"
  2. leere Formatzeichenfolge: MessageBox.Show (DateValue.ToString ()); Beispielergebnis: "30.09.2014 0:00:00"
6
Rellaxx

In SL5 habe ich folgendes gefunden:

<TextBlock Name="textBlock" Text="{Binding JustificationDate, StringFormat=dd-MMMM-yy hh:mm}">
<TextBlock Name="textBlock" Text="{Binding JustificationDate, StringFormat='Justification Date: \{0:dd-MMMM-yy hh:mm\}'}">
6
Dave Mateer