我在 Android 手机(Nexus one)和 Java 服务器之间的时间转换上遇到了一些麻烦。我读过的所有内容都说它们是相同的,但是当我转换一个很长的时间戳时,我似乎失去了 1 小时(准确)。
具体来说,如果我在 android 设备上运行以下代码,我将得到以下输出
代码:
Calendar g = Calendar.getInstance();
g.setTimeInMillis(1340661899000L);
Log.d(TAG, g.getTime().toLocaleString());
输出: 2012 年 6 月 25 日下午 6:04:59
我认为这是正确的,但是当我在 java 服务器上运行完全相同的代码时,我在同一天但提前 1 小时得到了
代码:
Calendar g = Calendar.getInstance();
g.setTimeInMillis(1340661899000L);
System.out.println(g.getTime().toLocaleString());
输出: 2012 年 6 月 25 日下午 5:04:59
有谁知道这可能是什么原因造成的?服务器和手机都位于同一个地方(这无关紧要)并且服务器盒和手机上的时钟匹配
最佳答案
考虑到相差一小时,您能否在服务器上设置 DST(夏令时)而不是在手机上设置,反之亦然?
关于java - Android 时间与 Java 时间之间的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11195820/