-1

如何转换stringdatetime使用sqlin sqlite

在我的 sqlite db 中,列为类型,并将数据存储为 null、空字符串、2013-10-23、2013-10-23 13:30:25、2013-10-24 puttime9:30:22nvarchar

我使用下面的查询进行转换,但是'2013-10-24 9:30:22'不能转换成功,怎么做:

select puttime, datetime(puttime) from tb_news

结果:

PutTime datetime(puttime)
2013-05-06          2013-05-06 00:00:00
2013-10-23          2013-10-23 00:00:00
2013-10-23 13:30:25 2013-10-23 13:30:25
2013-10-23 18:00:00 2013-10-23 18:00:00
2013-10-24 17:32:33 2013-10-24 17:32:33
2013-10-24 22:49:43 2013-10-24 22:49:43
2013-10-24 9:30:22  
2013-10-25 00:01:33 2013-10-25 00:01:33

谢谢。

4

2 回答 2

5

SQLite 期望的最接近的日期/时间格式是YYYY-MM-DD HH:MM:SS.

查看您的数据,似乎只有偏差是YYYY-MM-DD H:MM:SS.

因此,让我们0在需要时添加一个:

SELECT puttime, DATETIME(
    CASE SUBSTR(puttime, 14, 1) WHEN ':' THEN puttime -- Found ':' after HH
    ELSE SUBSTR(puttime, 1, 11)||'0'||SUBSTR(puttime, 12) END
) FROM tb_news
于 2013-10-24T08:07:30.430 回答
-6
SimpleDateFormat format = new SimpleDateFormat(""dd-MM-yyyy");

SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd");

日期 = df2.format(format.parse(str));

试试这个先生

于 2013-10-24T07:41:22.240 回答