zoukankan      html  css  js  c++  java
  • DateTimeOffset DateTime

    DateTime只保存两部分信息:Ticks和Kind
    Ticks 一个Tick是100纳秒(1万Tick等于1毫秒)Ticks记录了从1/1/0001 12:00 AM到现在经过了多少100纳秒。
    Kind Kind保存的是DateTimeKind枚举值,有Utc、Local和Unspecified 。
    Utc意味着Tick计数表示协调世界时间的数量,其不会受到夏令时或者时区的影响。
    Local表示本地时间的数量,会受到夏令时的影响。由于DateTime并不保存时区偏移,所以要获得真正的UTC时间,就会检查计算机当前的市区设置,那么ToUniversalTime和ToLocalTime方法都会进行这样的转换。
    Unspecified,意味着我们不知道到底是本地时间还是UTC时间。所以这种情况只能表示年月日,时间无法精确表示。

    DateTime除了存在这个问题,还会在进行比较的时候,其不会考虑Kind是UTC还是Local,从而导致错误。DateTime在进行字符串化的时候,对于某些标准格式也会出现问题(根源还是时区的问题),比如ToString("u")的时候,会直接把Local当作UTC来处理。

    为了解决上述时区和转换的问题,DateTimeOffset应运而生。它只保存Ticks,不保存Kind,且Ticks总是相对于UTC的值。

  • 相关阅读:
    github的使用
    QPalette的用法
    QTimer的用法
    QStatusBar的用法
    QWhatsThis的用法
    QString::​arg的用法
    qt中ui的 使用介绍
    安全协议IPSEC
    安全协议ssl
    对称加密和非对称加密
  • 原文地址:https://www.cnblogs.com/mingjing/p/8194250.html
Copyright © 2011-2022 走看看