将字符串转换为DateTime:Android

时间:2011-11-01 06:07:05

标签: android sqlite datetime

我的Sqlite数据库中有一个字段(名为time,但type为TEXT)。该列的当前格式为YYYY:MM:DD_HH:MM(2011:11:01_11:30)。现在我必须对此专栏进行排序,所以我认为我必须做两件事:

  1. 将字符串值转换为日期。
  2. 然后按列排序。
  3. 然后我该如何将该列转换为DateTime?或者还有其他方法吗?

2 个答案:

答案 0 :(得分:20)

将字符串转换为日期,在我的情况下,这可以正常工作,

String startTime = "2011-09-05 15:00:23";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
Date date1 = dateFormat.parse(startTime);

修改

  

SQLite中的日期和时间

1。2日期和时间数据类型

SQLite没有预留用于存储日期和/或时间的存储类。相反,SQLite的内置Date And Time Functions能够将日期和时间存储为TEXT,REAL或INTEGER值:

* TEXT as ISO8601 strings ("YYYY-MM-DD HH:MM:SS.SSS").
* REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar.
* INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC. 

应用程序可以选择以任何格式存储日期和时间,并使用内置的日期和时间函数在格式之间自由转换。

因此,只需使用INTEGER或TEXT并使用ORDER BY子句进行排序。

答案 1 :(得分:0)

最佳做法是尽管文本使用长数据类型作为日期时间值。

然后你只需通过调用Date类构造函数来获取你的日期和时间就可以在你的代码中使用它。

这使得您的排序操作变得简单。