Используйте ToLocalTime()
метод вместо ToUniversal()
из DateTime
типа
Edit
Что об использовании только dateTime.ToString("HH:mm");
? Это должно дать вам то, что вам нужно ...
Я подготовил код, чтобы проверить это для вас:
класс Test выглядит следующим образом:
[Serializable]
public class Test
{
[XmlAttribute]
public DateTime DateTime { get; set; }
}
Сериализация делается таким образом.
var s = new XmlSerializer(typeof(Test));
using (XmlWriter x = new XmlTextWriter("test.xml", Encoding.UTF8))
{
s.Serialize(x, new Test { DateTime = DateTime.Parse("2014-10-20T10:46:00+01:00") });
}
using (var r = XmlReader.Create("test.xml"))
{
var o = (Test)s.Deserialize(r);
var result = o.DateTime.ToString("HH:mm");
}
result
является '11: 46' , как вы ожидаете.
Очевидно, что важно, как вы преобразовали эту строку в «dateTime». Вы также должны опубликовать этот код. И укажите свой часовой пояс. –
Отправленный. Мой часовой пояс - Болгария/София. –