我在android手机(Nexus one)和java服务器之间进行时间转换时遇到了一些麻烦。我读过的所有东西都说它们是相同的,但是当我从我身上转换一个长时间戳时似乎失去了1小时(正好)。Android时间vs Java时间
具体来说,如果我的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());
输出: 25军2012年下午5时04分59秒
有谁知道什么可能会造成这个?服务器和手机都位于相同的地方(不是它应该很重要),并且服务器盒和手机上的时钟匹配
您可能不希望在客户端和服务器之间的通信中使用本地化时间,因为您无法确定客户端上的时间区域设置是什么。 –
值1340661899000L不应该是当地时间,我只想显示设备时区中的给定时间 –
期望客户端和服务器都处于相同的时区/模式,这是我建议您避免的情况。 –