【问题标题】:System.currentTimeMillis exchange Java software and AndroidSystem.currentTimeMillis 交换 Java 软件和 Android
【发布时间】:2016-08-09 13:18:20
【问题描述】:

我尝试在我的 java 软件和 android 工具之间交换信息。我将System.currentTimeMillis() 从我的android 工具放入Derby 数据库。 我在 UTC -4。

关于软件:
当它是Aug 09 2016 08:32:32
长是:1470745952393
这意味着Aug 09 2016 12:32:32 UTC

在安卓上
什么时候显示Aug 09 2016 08:44:37 它保存了1470732277580
这意味着Aug 09 2016 04:44:37 我的时区...

有人解释一下吗?

【问题讨论】:

  • 8+4=12, 8-4=4 => 您使用的是 UTC-4,Android 工具正在使用 UTC。

标签: java android database timezone derby


【解决方案1】:

您的软件区域设置与您设备上的不同。检查两台设备:

java.util.TimeZone.getDefault()

看看它会返回什么。

【讨论】:

  • 在 android 上:id=GMT,offset=0,dstSavings=3600000,useDaylight=false... 和软件上:d="America/New_York",offset=-18000000,
  • 是的。所以你有它。两个时区不同,因此 long 的解释不同。可能的解决方案是格式化日期:DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, YOUR_LOCALE); String formattedDate = df.format(yourDate);
猜你喜欢
  • 1970-01-01
  • 2010-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多