У меня есть отметка времени (635655080937662522) Я создал с C# и сохранил в столбце базы данных. Как я могу проверить, что это значение является тиком, а не чем-то еще? Имеет ли тик определенный формат?Проверьте, является ли значение тиком в C#
ответ
Ключ - это номер, на самом деле вы не можете проверить больше.
Вы можете проверить, действительно ли фактическое время в определенном диапазоне, которое имеет смысл для вашего случая, но оно специфично для конкретного приложения.
Как говорили другие, тик - это всего лишь число, но есть некоторые важные отличия, в зависимости от того, откуда появился тик.
Клещей из
DateTime
илиDateTimeOffset
являются 100ns каждый, и в диапазоне отDateTime.MinValue.Ticks
доDateTime.MaxValue.Ticks
, который0
к3155378975999999999
. Обратите внимание, что это намного меньше, чемInt64.MaxValue
.Клещей из
TimeSpan
также 100ns каждый, но в диапазоне отTimeSpan.MinValue.Ticks
доTimeSpan.MaxValue.Ticks
, которая является такой же, как в диапазоне отInt64
, который-9223372036854775808
к9223372036854775807
.Клещи от
Stopwatch
(в пространстве именSystem.Diagnostics
) имеют разный размер, в зависимости от аппаратных возможностей системы. Обычно они составляют около 4 нс на современном оборудовании. Вы можете настроить их наTimeSpan
клещей, используяStopwatch.Elapsed.Ticks
вместоStopwatch.ElaspedTicks
, или принимая во внимание ваши расчетыStopwatch.Frequency
. Диапазон:0
-Int64.MaxValue
.
- 1. Проверьте, является ли значение классом?
- 2. Проверьте, является ли HtmlString пробелом в C#
- 3. Проверьте, является ли символ цифрой? (В C)
- 4. Проверьте, является ли значение строкой в Coldfusion
- 5. Проверьте, является ли возвращаемое значение экземпляром Py_None
- 6. Проверьте, является ли строка палиндром в C
- 7. Проверьте, является ли файл медиафайлом в C#
- 8. Проверьте, является ли пользователь root в C?
- 9. Проверьте, является ли значение столбца числовым. SSIS
- 10. FreeMarker: проверьте, является ли значение карты нулевым.
- 11. C++, проверьте, является ли входное значение конкретным символом
- 12. Десятичное значение Проверьте, является ли Zero
- 13. Проверьте, является ли значение из scanf числом?
- 14. Проверьте, является ли значение кратным 10
- 15. Проверьте, существует ли значение в списке C#
- 16. Проверьте, определено ли значение в C-перечислении?
- 17. Проверьте, находится ли значение в массиве (C#)
- 18. C++ Проверьте, является ли очередь полной?
- 19. Проверьте, является ли матрица верхней треугольной (C++)
- 20. Проверьте, не является ли компилятор Turbo C++
- 21. C# - Проверьте, является ли вход int
- 22. C# Проверьте, является ли строка выражением
- 23. C++: проверьте, является ли вход номером
- 24. C - Проверьте, является ли str нулевым
- 25. Проверьте, является ли пользователь процесса администратором C++
- 26. Проверьте, не является ли массив C++ Null
- 27. Проверьте, является ли int макросом. C
- 28. Проверьте, является ли объект
- 29. Проверьте, является ли строка палиндром
- 30. Является ли значение C++ гарантировано?
Количество отсчетов - это всего лишь число, поэтому все, начиная от 0 до long.MaxValue приемлемо. – Gusman
О единственном, что вы можете сделать, это преобразовать его обратно в DateTime и посмотреть, находится ли он в разумном диапазоне. –
Я полагаю, что «недействительный тик» будет указывать на год 2410, например? Если это так, вы можете создать «DateTime» из тиков и проверить, находится ли он в разумном диапазоне дат. Вы должны, однако, спрашивать себя: «Почему это когда-либо было бы недопустимым числом, и что я могу сделать, чтобы предотвратить это?» – SimpleVar