将时间跨度除以 2

本文关键字:时间跨度 | 更新日期: 2023-09-27 18:34:39

我有两次,它们的值是从Web的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

我想你想这样做:

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

如果需要,它可以写在一行中。

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