Forums Neueste Beiträge
 

Datum und Zeit + Globalization

05/02/2009 - 13:06 von Brian Schmalisch | Report spam
Hallo,

ich habe mal noch eine Frage zu den Datum und Uhrzeiten für internationale
Anwendungen.

Ich speichere Datum und Uhrzeit in einer XML-Datei so:

XmlNode dttNode = doc.CreateElement("datetime");
XmlAttribute dtAttr = doc.CreateAttribute("Datum");
XmlAttribute ttAttr = doc.CreateAttribute("Zeit");

DateTime dt = DateTime.Now;
dtAttr.Value = dt.ToString("yyyy-M-d");
ttAttr.Value = dt.ToString("H:mm");

dttNode.Attributes.Append(dtAttr);
dttNode.Attributes.Append(ttAttr);
root.AppendChild(dttNode);

Wenn ich diese Infos unter verschiedenen CultureInfos aufrufe, so scheint es
zu funktionieren. Ich möchte jedoch nicht noch einen Fehler machen wie bei
Farben und Schriftarten und frage deshalb nochmal, ob das so ausreicht?

Bei folgenden Aufrufen scheint es zu funktionieren:
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
lblL1.Text = CultureInfo.CurrentCulture.Name;
lblD1.Text =
DateTime.Parse(dttNode.Attributes["Datum"].Value).ToShortDateString();
lblT1.Text =
DateTime.Parse(dttNode.Attributes["Zeit"].Value).ToShortTimeString();
Thread.CurrentThread.CurrentCulture = new
CultureInfo("ru-RU");
lblL2.Text = CultureInfo.CurrentCulture.Name;
lblD2.Text =
DateTime.Parse(dttNode.Attributes["Datum"].Value).ToShortDateString();
lblT2.Text =
DateTime.Parse(dttNode.Attributes["Zeit"].Value).ToShortTimeString();
Thread.CurrentThread.CurrentCulture = new
CultureInfo("ar-AE");
lblL3.Text = CultureInfo.CurrentCulture.Name;
lblD3.Text =
DateTime.Parse(dttNode.Attributes["Datum"].Value).ToShortDateString();
lblT3.Text =
DateTime.Parse(dttNode.Attributes["Zeit"].Value).ToShortTimeString();
Thread.CurrentThread.CurrentCulture = new
CultureInfo("ja-JP");
lblL4.Text = CultureInfo.CurrentCulture.Name;
lblD4.Text =
DateTime.Parse(dttNode.Attributes["Datum"].Value).ToShortDateString();
lblT4.Text =
DateTime.Parse(dttNode.Attributes["Zeit"].Value).ToShortTimeString();
Thread.CurrentThread.CurrentCulture = new
CultureInfo("en-CA");
lblL5.Text = CultureInfo.CurrentCulture.Name;
lblD5.Text =
DateTime.Parse(dttNode.Attributes["Datum"].Value).ToShortDateString();
lblT5.Text =
DateTime.Parse(dttNode.Attributes["Zeit"].Value).ToShortTimeString();
Thread.CurrentThread.CurrentCulture = new
CultureInfo("zh-CN");
lblL6.Text = CultureInfo.CurrentCulture.Name;
lblD6.Text =
DateTime.Parse(dttNode.Attributes["Datum"].Value).ToShortDateString();
lblT6.Text =
DateTime.Parse(dttNode.Attributes["Zeit"].Value).ToShortTimeString();

mfg

Brian
 

Lesen sie die antworten

#1 Stefan Hoffmann
05/02/2009 - 13:35 | Warnen spam
hallo Brian

Brian Schmalisch schrieb:
ich habe mal noch eine Frage zu den Datum und Uhrzeiten für
internationale Anwendungen.

XmlNode dttNode = doc.CreateElement("datetime");
XmlAttribute dtAttr = doc.CreateAttribute("Datum");
XmlAttribute ttAttr = doc.CreateAttribute("Zeit");

DateTime dt = DateTime.Now;
dtAttr.Value = dt.ToString("yyyy-M-d");
ttAttr.Value = dt.ToString("H:mm");


Für XML ist es im Endeffekt folgender Standard:

http://www.w3.org/TR/xmlschema-2/#isoformats
http://de.wikipedia.org/wiki/ISO_8601

Als Format also

xs:datetime "yyyy-mm-ddThh:mm"
xs:date "yyyy-mm-dd"
xs:time "hh:mm"

mfG

Ähnliche fragen