我在使用 SQLite 的 Android 应用程序上处理日期时遇到了一些问题。我有几个问题:
您可以使用文本字段将日期存储在SQLite.
SQLite
以 UTC 格式存储日期,如果您使用默认值,datetime('now') (yyyy-MM-dd HH:mm:ss)则允许按日期列排序。
datetime('now')
(yyyy-MM-dd HH:mm:ss)
从您那里检索日期作为字符串,SQLite然后可以使用日历或方法根据需要将它们格式化/转换为本地区域化格式android.text.format.DateUtils.formatDateTime。
android.text.format.DateUtils.formatDateTime
这是我使用的区域化格式化程序方法;
public static String formatDateTime(Context context, String timeToFormat) { String finalDateTime = ""; SimpleDateFormat iso8601Format = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss"); Date date = null; if (timeToFormat != null) { try { date = iso8601Format.parse(timeToFormat); } catch (ParseException e) { date = null; } if (date != null) { long when = date.getTime(); int flags = 0; flags |= android.text.format.DateUtils.FORMAT_SHOW_TIME; flags |= android.text.format.DateUtils.FORMAT_SHOW_DATE; flags |= android.text.format.DateUtils.FORMAT_ABBREV_MONTH; flags |= android.text.format.DateUtils.FORMAT_SHOW_YEAR; finalDateTime = android.text.format.DateUtils.formatDateTime(context, when + TimeZone.getDefault().getOffset(when), flags); } } return finalDateTime; }