保存日期类型到sqlite最好是LONG型,这样可以避免字符串解析,而且省空间,也便于日期的比较。

 参见:http://stackoverflow.com/questions/2117565/displaying-dates-in-localized-format-on-android


如果你想将从数据库的long值,转化为中划线间隔的日期字符串,可以这样:


long birthday = c.getLong(c.getColumnIndex("birthday"));

String birthdayStr = android.text.format.DateFormat.getDateFormat(context).format(new Date(birthday));


下面匿名读者提供的:


我測試了無數的結果顯示,只有使用儒約日來比較是最完美無缺的!
可能是我的問題吧,我使用了datetime()含式來比較比沒有返回應該的結果。
我也是用了最簡單的BETWEEN來比較某期間的日期,也是沒有返回正確的結果。


1
SELECT invNum FROM carrierheader WHERE julianday(datetime)>=julianday( '2013-05-05' ) and julianday(datetime)<=julianday( '2013-08-30' )