Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带h2错误时区2038年的Android_Android_Timezone_H2_Unix Timestamp_Year2038 - Fatal编程技术网

带h2错误时区2038年的Android

带h2错误时区2038年的Android,android,timezone,h2,unix-timestamp,year2038,Android,Timezone,H2,Unix Timestamp,Year2038,我将在Android应用程序中的数据库H2中插入一个日期,当该日期大于2038年1月19日(Unix 2038年错误)时,保存到数据库中的日期将根据Android设备的时区而变化 示例:日期2050-12-31 时区+2:00EL开罗时间2050-12-29(错误) 时区+2:00阿姆斯特丹节省2050-12-30(错误) 时区+2:00布鲁塞尔时间2050-12-31(正常) 日本时区2050-12-31(正常) 中国时区2050-12-31(OK) 亚速尔群岛时区2050-12-31(正常

我将在Android应用程序中的数据库H2中插入一个日期,当该日期大于2038年1月19日(Unix 2038年错误)时,保存到数据库中的日期将根据Android设备的时区而变化

示例:日期2050-12-31

  • 时区+2:00EL开罗时间2050-12-29(错误)
  • 时区+2:00阿姆斯特丹节省2050-12-30(错误)
  • 时区+2:00布鲁塞尔时间2050-12-31(正常)
  • 日本时区2050-12-31(正常)
  • 中国时区2050-12-31(OK)
  • 亚速尔群岛时区2050-12-31(正常)
我想使用android的Linux内核有2038年的缺陷,但我不明白为什么在某些情况下可以正常工作,而在另一些情况下不能


这个问题有什么解决办法吗?在Android中使用java.util.Date是否安全?

您如何准确地插入和查询数据?您可以添加您使用的源代码吗?你使用什么版本的H2和Android?Android 4.0和Android 3.2。在这两个版本中,它失败了。H2的版本是1.3.160。我有一个正确显示的jave.util.Date,将它保存到数据库中,当我检索到它时,数据在某些情况下会根据时区进行更改。我认为问题出在android上,2038-1-19之后的日期android在2014年刚刚获得android 5(棒棒糖)的64位支持,因此如果没有外部库,就无法解决2038年的问题。与Windows不同,Windows自2005年起在32位操作系统中提供64位
time\t
,在Linux上,您需要在2020年使用Linux 5.6内核才能在32位模式下获得64位
time\t
支持: