android - System.currentTimeMillis() 返回错误的日期

标签 android time timestamp sharedpreferences unix-timestamp

我正在尝试将当前时间保存到共享首选项中,但由于某种原因,当前时间在 47486 的遥远 future 年份中的数量太可笑了。

我已经检查了设备本身的日期设置,那里的日期是正确的,我在任何地方都找不到这样的问题。我希望这里有人可以帮助我。

这里是问题所在:

public static void setLastSyncSucceeded(final Context context) {
     SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
     long currentTime = System.currentTimeMillis();
     sp.edit().putLong(PREF_LAST_SYNC_SUCCEEDED, currentTime).commit();
}

基本上,当我调试时,我注意到 currentTime1436374427923,也就是 Tue, 23 Nov 47486 00:38:43 GMT。 ..

最佳答案

您的值是毫秒(如 currentTimeMillis),您将其视为秒数。

将它除以一千(即,将其转换为秒),您将得到更合理的值 Wed, 08 Jul 2015 16:53:47 GMT

关于android - System.currentTimeMillis() 返回错误的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31304427/

相关文章:

java - 如何使数字结果不带小数

javascript - 在javascript中将百分位转换为 “minutes:seconds.hundredths”

java.sql.Timestamp 错误的时间解析

javascript - SpeechSynthesisUtterance 无法在专为 Android 构建的 HTML5 应用程序中运行

java - 插入和退出 SQLite 数据库并显示到 TextView - Android

android - Unresolved reference 包android studio

directory - Unison 保留目录时间

performance - 数组管理的时间复杂度(算法)

php - 将时间转换为可读格式

sql - 如何将时间戳插入postgreSQL数据库