我有一个LineSeries,其中DataFieldX值是DateTime,在视觉上它工作得很好但是在为图表实现OnClick之后我似乎无法将所选值转换回DateTime:
Plot plot = sender as Plot;
var series = plot.GetSeriesFromPoint(new ScreenPoint(e.GetPosition(plot).X, e.GetPosition(plot).Y), 10);
var result = series.GetNearestPoint(new ScreenPoint(e.GetPosition(plot).X, e.GetPosition(plot).Y), true);
var data = result.DataPoint;
DateTime dt = new DateTime();
dt = dt.AddSeconds(data.X);
data.X是41577.61596880656,图表中该点的时间是31/10/2013 14:47。 dt最终成为01.01.0001 11:32:57
如何成功将data.X转换回DateTime?
答案 0 :(得分:2)
您需要添加天数,而不是1899年12月31日的秒数
DateTime dt = new DateTime(1899,12,31);
dt = dt.AddDays(data.X);
出于某种原因,当我跑步时,我会在0.3秒内完成。我假设这是基于数据存储格式的精确度。
答案 1 :(得分:2)
DateTimeAxis.ToDateTime()
不执行所需的转换吗?