2012-05-20 2 views
20

У меня есть два раза, и их значения взяты из XML из Интернета.Разделить интервалы времени на 2?

XElement xmlWdata = XElement.Parse(e.Result); 

string SunRise = xmlWdata.Element("sun").Attribute("rise").Value; 
string SunSet = xmlWdata.Element("sun").Attribute("set").Value; 

DateTime sunrise = Convert.ToDateTime(SunRise.Remove(0,11)); 
DateTime sunset = Convert.ToDateTime(SunSet.Remove(0, 11)); 

Это дает время: 04:28 для восхода солнца и 22:00 для заката. Как тогда сделать расчет, где я взять:

(sunrise + (sunset-sunrise)/2)

+4

Большая часть кода здесь не имеет ничего общего с вопросом. Вполне нормально задавать очень короткий вопрос. – usr

ответ

50

Я думаю, что вы хотите сделать это:

TimeSpan span = sunset-sunrise; 
TimeSpan half = new TimeSpan(span.Ticks/2); 
DateTime result = sunrise + half; 

Это можно записать в одну строку, если вы хотите.

1

TimeSpan sunnyTime = TimeSpan.FromTick(sunrise.Ticks + (sunset.Ticks - sunrise.Ticks)/2);