【发布时间】:2013-11-10 19:20:44
【问题描述】:
为什么以下失败并显示“从 'Int64' 到 'DateTime' 的无效转换”。异常?
long oldDate=new DateTime(2015, 1, 1).Ticks;
DateTime newDate=Convert.ToDateTime(oldDate);
.Ticks 是 long/Int64,Convert.ToDateTime(Int64) MSDN 文档显示了接受 long/Int64 的方法。
public static DateTime ToDateTime(
long value
)
编辑: 正如下面的 ebyrob 所指出的,它应该是:
long oldDate=new DateTime(2015, 1, 1).Ticks;
DateTime newDate=new DateTime(oldDate);
【问题讨论】:
-
new DateTime(oldDate);可能会在这里工作...转换逻辑可能不太确定您要做什么。Convert必须接受所有支持转换的类型,无论它是否有效。 -
ebyrob 发现了问题。它应该是 new DateTime() 而不是 Convert.ToDateTime()。