java - 如何将时区解析为 long 以存储到 sqlite 中?

标签 java android sqlite

所以我使用 nodejs 发回一个 json 对象,返回时我得到以下日期值 "2016-05-02T04:00:00.000Z" 我需要做的是存储这在 sqlite 数据库中就像我的 Android 应用程序中的 long -(时区无关紧要,我唯一关心的是年、月和日)。

现在我将获得一个包含 50 个具有这种日期格式的对象的列表 - 所以它必须有点高效。

我读到时区是不可解析的,但后来人们说在新的 Java 中它是可解析的,所以请告诉我如何才能正确解析它。

SimpleDateFormat 应该有效吗?

最佳答案

你可以像这样使用 Calendar 类:

Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month);
c.set(Calendar.DAY_OF_MONTH, day);

但在此之前,您必须手动解析您的 String。按字母“T”拆分,然后获取数组[0]并按“-”拆分,然后 Integer.parseInt(..) 获取日、月和年整数。对于时间戳,您可以使用 c,getTimeInMillis();

关于java - 如何将时区解析为 long 以存储到 sqlite 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37057600/

相关文章:

java - 如何使用 Java API 确定文件是 32 位还是 64 位?

java - RESTful token 和 session

android - 如何将样式(小和大)设置为按钮可编程方式?

Android 构建始终创建调试 apk

sqlite - Cordova SQLite 事务不回滚

perl - 如何在 sqlite3 和 perl 中创建唯一索引?

sql - 谁能在 SQLite 中识别这种日期/时间格式?

java - 为什么 double 无法从我的 String[] 数组中正确解析?

java - 将 akka ByteString 转换为 Java InputStream?

android - 如何检测(java代码) "box type"google TV或带有内置显示屏的google TV ("TV type")