【问题标题】:SQLite and inserting the current date in UTC formatSQLite 并以 UTC 格式插入当前日期
【发布时间】:2011-05-15 01:19:09
【问题描述】:

如何在 sqllite 数据库上使用 SQL 语句以 UTC 格式插入当前日期。我找到了NOW 函数,但它是什么格式的?这将在移动设备上进行,因此每个人都会有不同的区域设置,但是,我需要标准时间格式,因为设备会将日期与我的服务器进行比较。

另外,当行中的数据发生变化时,有没有办法像在 MySQL 中那样自动更新“已修改”字段?

【问题讨论】:

  • 应用程序是在Android上用Java编写的

标签: sql android sqlite


【解决方案1】:

SELECT DATETIME('now') 返回当前 UTC 日期时间。见Date And Time Functions。您可以将 DATETIME DEFAULT CURRENT_TIMESTAMP 与列声明一起使用。

格式 11,字符串 'now',是 转换为当前日期和 从 xCurrentTime 获得的时间 sqlite3_vfs 对象的方法 采用。世界协调时间 (UTC) 被使用

对于“修改”字段,您可以使用触发器。

【讨论】:

  • 我如何让它像这样打印 YYYY-MM-DDTHH:MM:SS
  • @jax 您可以使用此格式 '%Y-%m-%dT%H:%M:%S' 获得预期的格式。示例SELECT strftime('%Y-%m-%dT%H:%M:%S',DATETIME('now', 'utc'))
【解决方案2】:

您没有指定用于开发应用程序的内容。如果我只需要存储日期,我更喜欢在 Qt 中使用 QDate::toJulianDayQDate::fromJulianDay 将日期作为整数存储在 SQLite 数据库中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-27
    • 2020-10-08
    • 1970-01-01
    • 2012-02-23
    • 2010-12-07
    • 2016-08-01
    • 2023-04-06
    • 2011-10-07
    相关资源
    最近更新 更多