Как конвертировать UUID времени в метку даты в C#
У меня есть TimeUuid
который мне нужно преобразовать в DateTime
,
Есть ли способ сделать это в C#?
Я использую CassandraCsharpDriver от DataStax, но у него нет возможности конвертировать TimeUuid
в Datetime
, но возможно обратное.
Пример UUID: d91027c5-bd42-11e6-90be-2b4914b28d57
2 ответа
Решение
Вы можете использовать GetDate()
метод TimeUuid
структура, которая возвращает DateTimeOffset
представление стоимости.
TimeUuid uuidValue = row.GetValue<TimeUuid>("time");
// TimeUuid structure exposes GetDate() method
DateTimeOffset dateOffset = uuidValue.GetDate();
DateTime dateTime = dateOffset.DateTime;
Вы можете использовать эти 2 помощника и конвертировать в datetime, используя GetDateTime
метод,
Код:
String uuidString = "28442f00-2e98-11e2-0000-89a3a6fab5ef";
Guid gui = new Guid(uuidString);
DateTime dt = GuidGenerator.GetDateTime(gui);