java.util.Date
没有特定的时区,尽管人们通常认为它的值与UTC有关.你怎么会认为是在当地时间?
准确地说:java.util.Date
内的值是自Unix纪元(发生在UTC 1970年1月1日午夜)以来的毫秒数.同一个纪元也可以在其他时区描述,但传统的描述是UTC.由于这是一个固定纪元后的毫秒数,所以在世界各地的任何特定时刻,java.util.Date
内的值都是相同的,而不管当地时区如何.
我怀疑问题在于,您是通过使用本地时区的Calendar实例来显示它的,或者可能使用Date.toString()
也使用本地时区,或者使用SimpleDateFormat
实例,默认情况下也使用本地时区.
如果这不是问题,请发布一些示例代码.
不过,我还是建议您使用Joda-Time,它提供了更清晰的API.