Megaoctane
Megaoctane

Reputation: 979

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)

Upvotes: 34

Views: 21030

Answers (3)

moberme
moberme

Reputation: 689

TimeSpan timeSpan = new TimeSpan(2, 0, 0);
TimeSpan halfTimeSpan = timeSpan.Divide(2);

Upvotes: 1

qwertyuu
qwertyuu

Reputation: 21

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

Upvotes: 2

Casperah
Casperah

Reputation: 4564

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.

Upvotes: 75

Related Questions