将int转换为DateTime

本文关键字:DateTime 转换 int | 更新日期: 2023-09-27 17:49:32

我需要将int转换为DateTime

var a = reader.ValueOrDefault<DateTime>(beginWorkHour);
//........................................................ 
    internal static T ValueOrDefault<T>(this IDataReader reader, int ordinal) {
                if (reader.IsDBNull(ordinal))
                    return default(T);
                return (T) reader.GetValue(ordinal);
            }

此代码引发错误"指定的强制转换无效">
CCD_ 1返回12。

将int转换为DateTime

intint;你仍然需要这样获取它,老实说,你的确切意思还不清楚,但据猜测,这听起来像是你想要的:

DateTime time =
    DateTime.Today.AddHours(reader.ValueOrDefault<int>(beginWorkHour));

根据你的新评论,也许这就是你想要的:

var hours = TimeSpan.FromHours(reader.ValueOrDefault<int>(beginWorkHour));

那么,如果它返回int,为什么要将其读取为DateTime?我本以为你会想要这样的东西:

int hour = reader.ValueOrDefault<int>(beginWorkHour);
DateTime time = new DateTime(2000, 1, 1, hour, 0, 0);

或者类似的东西。(我只是猜测,给定变量名称。(

您希望如何将整数转换为日期和时间?