##问题描述: 在Titanium下存如sqlite毫秒级别的时间戳, 再获取的时候得到的数值不正确,有时候还可能是负数..在Android下没有此问题. ##解决办法:
-
先在数据库中更改原先的时间戳的字段为VARCHAR类型的,以后存储字符串的时间戳,如: '1360229569444'
-
由于字符串是无法比较的,在需要根据此字段作为where条件时,使用CAST(expr AS target_type)强制转换为NUMERIC类型,然后进行比较.如:
select * from mytable where CAST(start_time AS NUMERIC) > 1360229569444
###参考资料:
- [SQLite学习手册:三.转换表达式] (http://www.2cto.com/database/201202/120267.html)
- [Date Formatting And Format Validation: 一个js日期操作库] (http://www.javascripttoolbox.com/lib/date/documentation.php)
来源:oschina
链接:https://my.oschina.net/u/865845/blog/112805