Diviser timespan par 2?

J'ai deux fois, et leurs valeurs sont récupérées à partir d'un XML à partir du web.

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));

Cela donne med le temps: 04: 28 pour le lever du soleil, et 22: 00 pour le coucher du soleil. Comment ensuite faire un calcul où je prends:

(sunrise + (sunset-sunrise)/2)

23
demandé sur Soner Gönül 2012-05-20 11:52:00

2 réponses

Je pense que vous voulez faire ceci:

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

Il peut être écrit en une seule ligne si vous voulez.

54
répondu Casperah 2012-05-20 07:58:16

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

1
répondu qwertyuu 2013-04-07 06:29:54