Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Divide timespan by 2?

I have two times, and their values are picked up from a XML from 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)); 

This gives med the time: 04:28 for sunrise, and 22:00 for sunset. How to then do a calculation where i take:

(sunrise + (sunset-sunrise)/2)

like image 556
Megaoctane Avatar asked May 20 '12 07:05

Megaoctane


People also ask

What type is TimeSpan?

A TimeSpan value represents a time interval and can be expressed as a particular number of days, hours, minutes, seconds, and milliseconds.


2 Answers

I think you want to do this:

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

It can be written in one line if you want.

like image 183
Casperah Avatar answered Oct 11 '22 08:10

Casperah


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

like image 30
qwertyuu Avatar answered Oct 11 '22 08:10

qwertyuu