属于日期时间型的数据类型是 使用.NET Framework中新的日期时间类型[6]
使用.NET Framework中新的日期时间类型[6]
最后输出的结果如下图所示
![属于日期时间型的数据类型是 使用.NET Framework中新的日期时间类型[6]](http://img.zhputi.com/uploads/44e4/44e4cfc4c2bfd63187d1c613a22a092e23474.jpg)
在DateTime和DateTimeOffset之间选择
上面说了这么多关于DateTime和DateTimeOffset类型 如何在DateTime和DateTimeOffset之间进行选择呢?从前面的示例中大家已经看到了 DateTime只可以表示UTC或者本地时区的时间 或者不确定的时区 这给我们应用程序的移植带来了极大的麻烦 除非你指定它表示的是UTC 否则在移植应用程序时会受到诸多的限制 例如下面这段最简单的代码
static void Main(string[] args){ DateTime date = DateTime Now; Console WriteLine(date);
}
如果DateTime表示本地时区 那么应用程序在本地时区内移植是不会有问题的 但是如果你的应用程序需要对不同的时区都支持 建议在使用时尽量将DateTime的Kind属性设置为Utc 这一点尤其重要 否则就需要考虑使用DateTimeOffset类型
与DateTime类型不同的是 DateTimeOffset它唯一的标识了一个明确的时间点 即时间值以及相对于UTC的偏移量 它并不依赖于某个特定的时区 在大多数情况下 应当考虑使用DateTimeOffset来代替DateTime类型 并且在SQL Server 中也已经提供了对于DateTimeOffset数据类型的支持 详细信息可以参考这篇文章《SQL Server 中的新日期数据类型》
但是DateTimeOffset类型并不是完全用来代替DateTime类型 在应用程序只用到日期而不涉及时间 如出生日期 用DateTime类型是没有任何问题的
lishixinzhi/Article/program/net/201311/14872