Как конвертировать 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 метод,

GuidVersion.cs

Файл-guidgenerator-CS

Код:

  String uuidString = "28442f00-2e98-11e2-0000-89a3a6fab5ef";
  Guid gui = new Guid(uuidString);
  DateTime dt = GuidGenerator.GetDateTime(gui);
Другие вопросы по тегам