Сохраните ticks
как long
/ bigint
, которые в настоящее время измеряются в миллисекундах. Обновленное значение можно найти, посмотрев на значение TimeSpan.TicksPerSecond
.
Большинство баз данных имеют тип DateTime, который автоматически сохраняет время в виде тиков за кадром, но в случае некоторых баз данных, например, SqlLite, хранение тиков может быть способом сохранения даты.
Большинство языков позволяют легко конвертировать из Ticks
→ TimeSpan
→ Ticks
.
Пример
В C # код будет:
long TimeAsTicks = TimeAsTimeSpan.Ticks;
TimeAsTimeSpan = TimeSpan.FromTicks(TimeAsTicks);
Имейте в виду, хотя, потому что в случае SqlLite, который предлагает только небольшое количество различных типов, которые; INT
, REAL
и VARCHAR
Необходимо будет хранить количество тиков в виде строки или двух INT
ячеек вместе взятых. Это потому, что INT
- это 32-битное число со знаком, а BIGINT
- это 64-битное число со знаком.
Примечание
Однако я предпочитаю хранить дату и время в виде строки ISO8601
.