繁体   English   中英

如何防止SqlConnection上的时区转换?

[英]How do you prevent time zone translation on a SqlConnection?

我这里有一个完全基于GMT运行的数据库。 但是,客户端计算机可以在许多不同的时区(包括BST)上运行。 当您使用SqlConnection拉回数据时,它将转换日期时间值,例如

2008年8月19日

2008年8月18日23:00:00

我的问题是,是否有一种方法可以指定您不希望进行此转换的连接?

你是如何访问数据的?

从Web服务传递DataSets / DataTables时遇到了同样的问题。

我通过在DataTable中设置DataColumn.DateTimeMode属性来解决它

returnedDataTable.Columns("ColumnName").DateTimeMode = DataSetDateTime.Unspecified

那之后很好。

不知道这是否有帮助。

仅保留数据库中的UTC值。 在存储/从数据库检索时,您的业务对象始终转换为/从UTC /本地时间转换,以便用户可以查看和输入本地时间值。 您可以通过在BO的getter / setter方法中实现转换来实现此目的,以便私有变量是UTC,因此当它存储回数据库时,它已经是您需要的形式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM