[英]How to convert byte array (SQL-server Timestamp) to DateTime (C#)?
如何将字节数组转换为DateTime
? 我必须这样做是因为我使用了一个属性(名为CreationDataStamp
) ,其属性Timestamp
用于实体框架。 我用来将字节数组转换为DateTime
的第二个属性(名为CreationDate
) 。
[System.ComponentModel.DataAnnotations.Timestamp]
public byte[] CreationDateStamp { get; set; }
[System.ComponentModel.DataAnnotations.Schema.NotMapped]
public DateTime CreationDate
{
get
{
return Convert.ToDateTime(CreationDateStamp);
}
}
问题是,我已经第 9行此异常:
无法将
System.Byte[]
类型的对象System.Byte[]
转换为System.IConvertible
类型。
更新:
我也尝试过这个问题: 如何在C#中将byte []转换为datetime?
long longVar = BitConverter.ToInt64(CreationDateStamp, 0);
DateTime dateTimeVar = new DateTime(1980,1,1).AddMilliseconds(longVar);
但我有这个例外:
要添加的值超出范围。
参数名称:value
你能帮助我吗?
Sql server Timestamp
不是DateTime
。 它是元组(行)的版本控制列。
简而言之,你无法做你想做的事。
尝试这样的事情:
long longVar = BitConverter.ToInt64(byteValue, 0);
DateTime dateTimeVar = new DateTime(1980,1,1).AddMilliseconds(longVar);
希望有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.