Не должно ли значение DateTime.Now.Ticks
быть таким же, как DateTime.UtcNow.Ticks
? Я проверил их значения и обнаружил, что разница отражает мое текущее смещение часового пояса от UTC. Что мне здесь не хватает?DateTime.Ticks value value
ответ
Это часть того, как объекты были разработаны.
В других библиотеках и языках (например, код JavaScript Date
) значение привязано к UTC и обычно использует эпоху 1970-01-01.
Но в .NET, значение Ticks
относится к той же системе координат, что Years
, Months
, Days
и другие свойства основаны на. Он использует эпоху 0001-01-01.
В DateTime
, есть свойство, называемое Kind
:
- Если вид является
DateTimeKind.Utc
, то вы знаете, что значение связано с UTC. - Если вид
DateTimeKind.Local
, то вы знаете, что значение связано с местным часовым поясом. - Если вид
DateTimeKind.Unspecified
, то вы понятия не имеете, какой часовой пояс у вас есть. У вас просто есть дата и время.
Вы видите разницу между DateTime.UtcNow.Ticks
и DateTime.Now.Ticks
как текущей временной зоны смещения, поскольку DateTime.Now
имеет Local
вид, в то время как DateTime.UtcNow
имеет Utc
вид. Таким образом, тики DateTime.Now
основаны на вашем местном часовом поясе, а тики от DateTime.UtcNow
основаны на UTC.
Тип DateTimeOffset
может использоваться для противодействия этой проблеме. Ticks
по-прежнему относятся к показанным значениям, но Offset
может использоваться для постоянной настройки этих тиков обратно в систему координат UTC.
Если вам это не нравится, как многие из них этого не делают, альтернативой является использование типов из библиотеки Noda Time.
Кстати, я более подробно расскажу об этой информации и сравниваю ее с другими языками программирования в своем курсе Pluralsight, Date and Time Fundamentals.
Это другое, потому что часовые пояса разные.
- 1. Функция Value Value Value
- 2. Как получить значение Value Value Value Value Value для Devexpress?
- 3. Sharepoint Множественное значение Value Value Value
- 4. value value radobuttons javascript
- 5. submit select value value
- 6. Javascript onchange value value
- 7. php unquoted value value
- 8. JSF value value bean
- 9. access css value value
- 10. jQuery $ .getJSON() not value value
- 11. Datalist get selected value value
- 12. set value value as array
- 13. Query polymer.dart custom value value
- 14. jQuery pass to value value
- 15. $ httpBackend return value value issue
- 16. XmlUnit order on value value
- 17. css calc invalid value value
- 18. Perl forkmanager dropping value value
- 19. Swift: Cast wrap value value
- 20. jquery modal selected value value
- 21. Пользовательский флажок toggles value value
- 22. xsl loop through value value
- 23. sql server «value» равен «value»
- 24. Response.Cookies ["value"]. Value и Request.Cookies ["value"]. Запрос значения
- 25. if (mask & VALUE) или if ((mask & VALUE) == VALUE)?
- 26. Что это значит/делать? "value <0? -value: value;"
- 27. Рамка для обработки сериализации в «key: value; key: value; key: value; key: value;» формат
- 28. PL/SQL coalesce on value value
- 29. Setter: [value copy] или [value release]?
- 30. DDD - объект Value Value from Entity
Почему вы ожидаете, что они будут такими же? Даты/времена разные, поэтому их представления в тиках различны. – Blorgbeard
Почему этот вопрос был проголосован? Пожалуйста, дайте мне знать, как я могу улучшить этот вопрос. – bittusarkar