将时间跨度除以2?

问题描述 投票:0回答:3

我有两次,它们的值是从网络上的 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)

c# windows-phone-7 datetime xml-parsing
3个回答
75
投票

我想你想这样做:

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

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


1
投票

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


0
投票
TimeSpan timeSpan = new TimeSpan(2, 0, 0);
TimeSpan halfTimeSpan = timeSpan.Divide(2);
© www.soinside.com 2019 - 2024. All rights reserved.