[英]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.