将时间跨度除以2?

时间:2012-05-20 07:52:00

标签: c# windows-phone-7 datetime xml-parsing

我有两次,他们的价值来自网络上的XML。

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)

2 个答案:

答案 0 :(得分:57)

我想你想这样做:

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

如果你愿意,可以写成一行。

答案 1 :(得分:1)

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