SQL Server日期格式印度到美国

时间:2011-07-27 11:36:34

标签: sql sql-server date-format simpledateformat

我有一个服务,它将我的SQL服务器数据库的日期推送到网络数据库,推送的日期格式是“yyyyMMdd”。

我的数据库位于印度,因此日期格式和当前日期基于印度文化和区域设置。

我的网络服务器位于美国,因此日期格式基于美国。

印度和美国时间差不多有13个小时。因此,当我的客户在2011年6月13日上午9:00进入货物时,它会在6月12日收到的网站上显示。

因此,在客户预订之前收到货物会造成如此大的麻烦。请指导我解决这个问题。

由于

2 个答案:

答案 0 :(得分:1)

这将获取用户输入并将其转换为UTC:

DECLARE @input DateTime = '13 June 2011 9:00 am';
DECLARE @utc DateTime = DATEADD(s, DATEDIFF(s, GETDATE(), GETUTCDATE()), @input);

SELECT @input UserInput, @utc UTC;

您可以将所有DateTime值存储在数据库中作为UTC,然后在适当的时区/文化中将它们呈现给用户。

答案 1 :(得分:0)

这笔交易确实发生在6月12日的美国,所以这实际上是正确的。

如果您希望该日期在6月12日在美国和6月13日在印度观看时显示,则需要将您的日期存储为UTC日期。