Java 从JDateTime转换为时间戳时保留客户端时区

Java 从JDateTime转换为时间戳时保留客户端时区,java,datetime,timezone,timestamp,Java,Datetime,Timezone,Timestamp,我有一个基本的问题,不幸的是我不确定 基本上,我们正在尝试在一个应用程序中创建一个到另一个应用程序的接口。为了实现这一点,我们将从数据库中删除大量字段,并将这些字段转换为其他应用程序可以接受的格式。例如,在本例中,我们有一个JDatetime类型的字段,我们需要将其转换为时间戳…很容易完成: Timestamp tradedate = new Timestamp(trade.getTradeDate().getTime()); return tradedate; 但是,由于.getTime

我有一个基本的问题,不幸的是我不确定

基本上,我们正在尝试在一个应用程序中创建一个到另一个应用程序的接口。为了实现这一点,我们将从数据库中删除大量字段,并将这些字段转换为其他应用程序可以接受的格式。例如,在本例中,我们有一个JDatetime类型的字段,我们需要将其转换为时间戳…很容易完成:

 Timestamp tradedate = new Timestamp(trade.getTradeDate().getTime());
 return tradedate;
但是,由于.getTime()返回基于系统时区的时间戳,因此返回的EST值将以GMT为单位

我的问题是如何简单地保留相关字段的时区,而不转换为GMT。系统具有来自所有不同时区的值,因此我希望保留客户端数据中的内容


已经有一段时间没有使用Java或Eclipse了,所以初期的问题还在继续

我假设这是
JDateTime
from-它也是
java.sql.Timestamp
吗?如果是这样的话,请记住,
Timestamp
没有时区的概念。很抱歉,您确实是对的,它没有时区的概念,而且类型的性质也是对的。我想,通过将所有信息转换为GMT,这个问题基本上已经得到了解决,但我认为客户在比较两个平台上的交易时,看到两个交易之间的小时差异时,会感到异常。