在日常使用中难免会与XML打交道,其中一个常用的格式就是日期了。

交互的时候通常有下面2种方式

DECLARE @Doc XML='
<R>
  
<T>2018-02-22+08:00</T>
<T1>2018-02-22</T1>
</R>
'

其中T1 的时间格式是我们平常比较容易看到的。但是也有小部分的时候会遇到T的时间格式,后面带上时区的时候,就会在取Datetime的时候直接转换成0时区的时间,所以

DECLARE @Doc XML='
<R>
<T>2018-02-22+08:00</T>
<T1>2018-02-22</T1>
</R>
' SELECT @Doc.value('(R/T)[1]','DateTime') ,
@Doc.value('(R/T1)[1]','DateTime') 2018-02-21 16:00:00.000
2018-02-22 00:00:00.000

这时候如果需要将T和T1 都转成一致的DateTime的格式的话,可以参考官方文档里面的一样

https://docs.microsoft.com/zh-cn/sql/t-sql/functions/cast-and-convert-transact-sql#date-and-time-styles

里面提到这里可以转换成DateTimeOffset 这种格式,然后再转换成DateTime的格式,即可完成这个操作

最终就是2种都可以转成同样的时间格式了。

DECLARE @Doc XML='
<R>
<T>2018-02-22+08:00</T>
<T1>2018-02-22</T1>
</R>
' SELECT CONVERT(DATETIME,@Doc.value('(R/T)[1]','DateTimeOffset')),
CONVERT(DATETIME,@Doc.value('(R/T1)[1]','DateTimeOffset')) 2018-02-22 00:00:00.000
2018-02-22 00:00:00.000

以为这种格式我们平时比较少用到,我也是偶尔遇到才发现,今天和大家分享一下~希望对大家有帮助

最后祝~新年快乐~工作顺利

使用DateTimeOffset 对xml中的日期时间格式时区进行处理的更多相关文章

  1. Android中关于日期时间与时区的使用总结

    在开发Android的过程中,出现过几次由于日期时间导致的问题,而且主要是由于时区的原因导致,所以一直想总结一下,形成一个良好的开发规范.   一.Unix时间戳   Unix时间戳(Unix tim ...

  2. [php基础]Mysql日期函数:日期时间格式转换函数详解

    在PHP网站开发中,Mysql数据库设计中日期时间字段必不可少,由于Mysql日期函数输出的日期格式与PHP日期函数之间的日期格式兼容性不够,这就需要根据网站实际情况使用Mysql或PHP日期转换函数 ...

  3. 在mysql数据库中关于日期时间字段的处理

    在mysql数据库中关于日期时间字段的处理 在开发中,日期时间字段一般有如下几种设计 假设要获取2013-08-15日到2013-08-16日之间的记录 1. 直接使用日期时间类字段 相关sql语句如 ...

  4. Sql Server中日期时间格式化为字符串输出

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  5. Sql日期时间格式转换;取年 月 日,函数:DateName()、DATEPART()

    一.sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007 ...

  6. sql 日期时间格式转换

    Sql日期时间格式转换   sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, ...

  7. db2 日期时间格式

    db2日期和时间常用汇总 1.db2可以通过SYSIBM.SYSDUMMY1.SYSIBM.DUAL获取寄存器中的值,也可以通过VALUES关键字获取寄存器中的值. SELECT 'HELLO DB2 ...

  8. .net mvc中json的时间格式

    .net mvc中,通过return Json(DateTime.Now); 返回到视图时,日期格式变成这样,"/Date(1245398693390)/",如果要显示指定的日期时 ...

  9. SQL中CONVERT日期不同格式的转换用法

    SQL中CONVERT日期不同格式的转换用法 格式: CONVERT(data_type,expression[,style]) 说明:此样式一般在时间类型(datetime,smalldatetim ...

随机推荐

  1. [国嵌攻略][070][GDB调试程序]

    GDB是GNU发布的一款功能强大的调试工具.GDB主要完成下面三个方面的功能: 1.启动被调试的程序. 2.让被调试的程序在指定的位置停住. 3.当程序被停住时,可以检测程序状态. GDB使用流程 1 ...

  2. MySQL Index Merge Optimization

    Index Merge用在通过一些range scans得到检索数据行和合并成一个整体.合并可以通过 unions,intersections,或者unions-intersection运用在底层的扫 ...

  3. SecurityException

    摘录自http://www.cnblogs.com/haorenjie/archive/2012/09/12/2682655.html public boolean checkNetwork() { ...

  4. 分析业务模型-类图(Class Diagram)

    分析业务模型-类图(Class Diagram)     分析业务模型-类图(Class Diagram)(上) 摘要:类图(Class Diagram)可能是用得最多的一种UML图.类图的基本语法并 ...

  5. apktool给软件加注册机修改图标和文件名

    功能实现,即让你的软件具有注册机功能,或者破解别人的软件,据为己有! 先反编译文件包 然后全局工具,修改图标和名称 加注册机,输入key,下载计算器,即可.给某个用户设置自定义的使用时间!

  6. Azure Powershell使用已有特殊化非托管磁盘创建ARM虚拟机

    生成已有特殊化非托管磁盘的方法主要有如下两种: 1.使用StorageExplorer存储管理工具,复制特殊化磁盘到一个新的容器下 2.New Portal中删除虚拟机,默认vhd文件会保留在存储账号 ...

  7. Xpath语法学习

    贴几个我学习Xpath的参考 1 基本使用的参考 XPath学习:基本语法(一) 2 较为详细且清晰例子参考,推荐 XPath 详解,总结 3 详细语法参考 Xpath语法格式整理 4 官方参考 XP ...

  8. PHP微信H5支付开发

    近来公司项目要求用到微信H5开发,因为微信开发文档处处都是坑,我也走了不少弯路,现在就把H5支付的过程记录一下,已备后用!! 首先 先去商户平台申请开通 H5支付!!!! 我们从微信官方下载H5支付d ...

  9. 【转】三大UML建模工具Visio、Rational Rose、PowerDesign的区别

    本文转自http://developer.51cto.com/art/201006/207993.htm UML建模工具相信大家有所了解,那么你对UML建模工具Visio .Rational Rose ...

  10. Java 生产者消费者模式详细分析

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...