Comment faire pour convertir un byte[] dans datetime en C#?

J'ai un champ de type TimeStamp dans la base de données, qui est converti en byte[] dans le code c#, et j'ai besoin de le convertir en valeur de type DateTime.
Je tiens donc à convertir à partir d'un tableau d'octets en DateTime.

Déjà utilisé ce code:

byte[] byteValue = someValue;
long longVar = BitConverter.ToInt64(byteValue);
DateTime dateTimeVar = DateTime.FromBinary(longVar);

est-ce ok?

Pourquoi avez-vous convertir le timestamp de byte[] en premier lieu?
Sans savoir où le byte[] est venu, vous pourriez avoir à traiter avec de l'endianness questions.
Cela dépend de ce que tu veux dire par "ok". Je n'ai jamais essayé cette approche, mais il ne semble pas particulièrement intuitive moyen de récupérer la date et l'heure à partir d'une base de données.
Vous ne mentionnez pas la serveur de base de données que vous obtenez ce. J'ai supposé SQL Server (surtout si votre couche d'accès aux données n'est pas automatiquement la conversion d'une valeur DateTime)
ce n'était pas ma décision, c'est fait par une tierce partie, outils permettant de générer le code, par exemple codesmith.

OriginalL'auteur george_test | 2010-02-16