SQLite有很好的功能 - julianday。这是一种简单的方法来存储日期,比较,排序...(如果我误解 - 为什么?) 但我找不到任何方式来操纵Android API中的julianday日期。 有什么方法(除了让我自己或使用第三方库)将julianday转换为日期并返回?SQLite julianday()和Android
3
A
回答
1
SQLite的julianday()
的唯一功能似乎非常有用的是它能够查找两个日期字符串之间的天数差异。这是可能的,因为可以在两个日期找到自Julian日历开始以来的天数,并计算它们的差异。了解自公元前4714年11月24日以来的天数本身就没那么有用,除非你当时还活着,在这种情况下,你可能是一个吸血鬼。
我们也可以发现在Java中的Android两个日期之间的天数不同,尽管它是一个比较繁琐:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-dd");
try {
Date date1 = sdf.parse("2017-02-21");
Date date2 = sdf.parse("2017-02-28");
long diffInMillis = date2.getTime() - date1.getTime();
int numDays = (int)diffInMillis/1000*60*60*24;
} catch (ParseException e) {
e.printStackTrace();
}
0
Java使用毫秒时间标记,这是一样的Unix的时间戳,但毫秒而不是秒。
所以为Julian天数转换成一个Java毫秒值,使用strftime()
并经过一个Unix时间戳:
SELECT strftime('%s', TimestampColumn) * 1000 FROM ...
到Java毫秒值转换为儒略日数,不插入直接呼叫julianday()
就可以了:
INSERT INTO ... VALUES (..., julianday(?/1000, 'unixepoch'), ...);
相关问题
- 1. 如何让sqlalchemy在sqlite中将julianday存储为datetime?
- 2. SQLite和Android
- 3. Android sqlite和SaxParser
- 4. VS2017 Android和SQLite
- 5. Android。 ExpandableListAdapter和Sqlite
- 6. Android。 Autocompletetextview和sqlite
- 7. Xamarin Android,MobileCenter和SQLite:
- 8. 我该不该把存储在SQLite中的julianday作为DateTime数据?
- 9. 的Android和SQLite使用SQLiteOpenHelper
- 10. Android SQLite查询Where和Where
- 11. Android SQLite数据库和SharedPreferences
- 12. Android和SQLite的更新
- 13. Android Help:布尔和SqLite?
- 14. Android使用日期和SQLite
- 15. Android,SQLite
- 16. android sqlite双向同步sqlite
- 17. Sqlite日期差异
- 18. Android SQLite表和活动中的数据
- 19. Android SQLite和字符串资源
- 20. sqlite的替换键和外键Android中
- 21. Android SQLite按时间插入和排序
- 22. ORM在Android SQLite和数据库方案
- 23. Android SQLite触发器和视图?
- 24. Android和40mb的SQLite数据库充气
- 25. Android SQLite和绑定变量问题
- 26. Android java SQLite查询和单引号
- 27. SQLite和填充列表视图,android
- 28. SQLite的Android登录和注册
- 29. Android AsyncTask和SQLite数据库实例
- 30. android和java中的SQLite数据库
你到底想要计算什么? –
例如julianday(CURRENT_DATE)= 2457812.5。如何将它转换成java中的Date()? – McBodik