【问题标题】:Date format issue with 'HH' when storing to SQLite Database存储到 SQLite 数据库时出现“HH”的日期格式问题
【发布时间】:2013-11-07 11:20:02
【问题描述】:

在我的 Android 应用程序中将日期存储到本地 SQLite 数据库时遇到问题。 我使用的是全局日期格式:

public static final String DATEFORMAT = "yyyy-MM-dd HH:mm:ssz";

从 Azure 数据库中检索到日期后,我将其格式化为字符串,以便将其存储在 SQLite 数据库中。

row.put(Constants.COL_DATE_START, (String) DateFormat.format(DATEFORMAT, DateStart));

除了我得到的不是 2013-09-18 13:00:00+0000 之外,一切似乎都很好:

2013-09-18HH:00:00+0000

由于某种原因,它无法识别“HH”是一个小时数。如果我将其更改为“hh” 它给了我 2013-09-18 01:00:00+0000 - 让我休息 12 小时。

有什么想法吗?任何帮助将不胜感激!

【问题讨论】:

  • 这不是 UTC 本地时间问题吗?你不是在 +1200 区域吗?

标签: android database sqlite date date-format


【解决方案1】:

试试这个:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateFormat = sdf.format(yourDate); //java.util.Date
row.put(Constants.COL_DATE_START, dateFormat);

【讨论】:

    【解决方案2】:

    我通常会存储一个时间戳并在显示它时格式化日期。我知道它不能直接回答您的问题,但 AFAIK 它被认为是最佳实践。

    【讨论】:

    • -1 这只是基于意见。不,不回答问题。
    猜你喜欢
    • 2018-09-23
    • 2016-08-08
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-15
    • 1970-01-01
    相关资源
    最近更新 更多