2011-07-25 67 views
0

我在本地时区java.sql.Timestamp变量具有以下格式如何的java.sql.Timestamp值从美国东部时间转换为UTC时区

2011-07-21 00:40:37

我需要将其转换为UTC

I asked this question to see if it can be done by mysql, but received no answers.

我想我必须以某种方式在java代码中进行替换之前,在查询

+0

http://stackoverflow.com/questions/2609360/converting-local-timestamp-to-utc-timestamp-in-java 已经问。 –

+0

@Jon这对我不起作用,因为它没有考虑变量DST。这个代码将被部署在多个时区中,并且我将根据它的位置和时间来准确地进行UTC转换... –

+0

MySQL解决方案'SELECT CONVERT_TZ(NOW(),@@ session.time_zone,'+00 :00')' –

回答

2

我建议使用Joda Time来解析时间戳。您需要将时区设置为EST,然后从那里获取UTC时间。你可以用通用的Java Date做同样的事情,但是Joda更容易处理。

+0

有没有办法读取当地时区? EST只是一个例子,但它可能是任何时区 –

+0

在仔细研究Joda时间之后,我发现它具有'public longLocalToUTC(long instantLocal,boolean strict)'看起来像将严格参数设置为True将使其占DST如果适用。希望它会变成我所需要的。直到质量保证完成之后才肯定知道 –

相关问题