2012-05-20 17 views
20

Tengo dos veces, y sus valores se recogen de un XML de la web.¿Divida el tiempo por 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)); 

Esto da el tiempo: 04:28 para la salida del sol, y 22:00 para la puesta del sol. Cómo luego hacer un cálculo donde tomo:

(sunrise + (sunset-sunrise)/2)

+4

mayor parte del código que aquí no tiene nada que ver con la cuestión. Está bien hacer una pregunta muy breve. – usr

Respuesta

50

Creo que quiere hacer esto:

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

Puede escribirse en una sola línea si lo desea.

1

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

Cuestiones relacionadas