gpt4 book ai didi

android - System.currentTimeMillis() 在华为上返回错误的时间戳

转载 作者:IT老高 更新时间:2023-10-28 22:09:46 25 4
gpt4 key购买 nike

问题在于 System.currentTimeMillis()以不同的时间范围返回错误的毫秒数,主要在未来有时长达 6 个月,但从几秒到几个月不等。

发生这种情况的设备是Android 5.1.1上的平板电脑型号Huawei M2-A201W,内核版本为:**3.10.74-gdbd9055**

我的第一个假设是 NTP 不知何故弄乱了时间,但我有成千上万的平板电脑,其中一些没有网络连接,没有 SIM 卡,所以没有 GSM/3G/4G .

我正在使用 System.currentTimeMillis()在本地 sqlite 数据库中创建行的时间保存在表的列中。

这种异常情况在我使用的平板电脑上经常发生(每个 System.currentTimeMillis() 调用的 30%)。

最佳答案

作为使用 System.currentTimeMillis() 的一种解决方法,也许您可​​以让 sqlite 处理时间戳创建,看看是否能解决您的问题?

使用 timestamp default current_timestampdefault(strftime('%Y-%m-%d %H:%M:%f' , 'now')) 如果你也需要毫秒,像这样:

sqlite> 创建表 my_table(id 整数主键自增不为空,命名文本,创建时间戳 default(strftime('%Y-%m-%d %H:%M:%f', 'now ')) 不为空);

sqlite> 插入 my_table(name) 值 ('MyTestRow1');
sqlite> 插入 my_table(name) 值 ('MyTestRow2');

sqlite> select * from my_table;

1|MyTestRow1|2017-08-07 10:08:50.898
2|MyTestRow2|2017-08-07 10:08:54.701

关于android - System.currentTimeMillis() 在华为上返回错误的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45509101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com