Сначала вам нужно получить значение XML в переменную DateTime
DateTime showTime = DateTime.Parse(xmlValue);
Оттуда вы сможете манипулировать им по мере необходимости, чтобы получить его в нужном часовом поясе.Существуют методы ToLocalTime () и ToUniversalTime ().
Чтобы вернуть его обратно в строку для отображения, вы можете использовать метод .ToString () и передать формат в.
showTime.ToString("HH:mm:ss dd/MM/yyyy");
Информация о форматированиина MSDN http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
Редактировать: Еще одна вещь, которую стоит рассмотреть, написав саму Windows Phone EPG, это проверить, действительно ли время, которое вам предоставляется, является правильным для всех часовых поясов.Например, у нас есть национальные каналы, и новости начинаются в 18:00 по местному времени, но у источника EPG, который я использовал, был один файл для национального канала со временем, установленным для восточного побережья.Поэтому мне нужно было просто удалить информацию о часовом поясе из XML и рассматривать ее как местное время для этих каналов.
Редактировать 2: Вам действительно нужно изучить основы C #, прежде чем углубляться в это под звукиЭто.В вашем определении класса TV2guide измените свойства StartTime и EndTime на тип DateTime следующим образом.
public DateTime? StartTime { get; set; }
public DateTime? EndTime { get; set; }
В вашем запросе LINQ-2-XML измените строки, которые устанавливают StartTime и EndTime следующим образом
StartTime = startE1 == null ? (DateTime?)null : DateTime.ParseExact(startE1.Value, "yyyyMMddHHmmss zzz", DateTimeFormatInfo.CurrentInfo, DateTimeStyles.AssumeLocal),
EndTime = endE1 == null ? (DateTime?)null : DateTime.ParseExact(endE1.Value, "yyyyMMddHHmmss zzz", DateTimeFormatInfo.CurrentInfo, DateTimeStyles.AssumeLocal),