Android:在sqlite中存取时间

本文探讨了在Android应用中使用SQLite数据库存储时间的具体方法。作者决定采用Long类型存储完整日期时间,以确保足够的精度和存储空间;同时使用Int类型存储单独的时间部分。这种方式充分利用了SQLite的灵活性,同时也兼顾了Java中Date对象的特性。

最近要写一个android平台上的小应用,遇到了怎样在数据库中存取时间的问题。

刚刚开始设计数据库的时候发现这个sqlite数据库有点特殊,它的数据型并没有严格的区别,无论什么数据,只要那一列存的下就没问题,它并不会因为存入的数据类型与定义表的时候给的数据类型不一致而报错。

此外,因为DATETIME, TIME会被转化为numeric,其实就是转化为特定大小的存储空间而已。

基于以上原因。我决定在程序内部的时间和日期采用如下方式表示:

2012-12-11 13:12:12 转化为long来存取。因为在sqlit中会将DATETIME列转化为numeric,不能用int,长度不够。

13:12:12 转化为int来存取。sqlite中会TIME列转化为numeric,用int就可以存下。

因为在java中Date内部也是一个基于unix时间戳的一个long型数值。

要显示给用户的时候用DateFormat或SimpleDateFormat格式化一下即可。


sqlite测试:

查看工具:sqlite manager

表:



插入的数据:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值