gpt4 book ai didi

java - 日期值不正确

转载 作者:行者123 更新时间:2023-12-01 17:16:40 25 4
gpt4 key购买 nike

我正在使用 Android,试图实现一些可以告诉我有人玩游戏多久前的东西。这就是我所拥有的:

Date date;

try {
date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH).parse(g.getLastPlayed());
long milliseconds = date.getTime();
long timeNow = new Date().getTime();
DateUtils.
String timeSince = (String) DateUtils.getRelativeTimeSpanString (milliseconds, timeNow, DateUtils.MINUTE_IN_MILLIS);
TextView timeAgo = (TextView) convertView.findViewById(R.id.current_game_last_played_text);
timeAgo.setText(timeSince + " " + timeNow);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

我尝试过的不同路线遇到了一些问题:

我尝试的一种方法是让数据库中的行为 DATETIMES,这就是我在尝试的第一行中所做的。将其转换为 SimpleDateFormat,这样我就可以在此之后调用 getTime 并获取毫秒数。这在我的模拟器上似乎运行良好,但当我把它放在手机上时,我得到了截然不同的结果。我做了一些调试,发现根据我使用的是模拟器、手机还是 Kindle,毫秒的计算方式有所不同。

有什么方法可以使毫秒始终为相同的值,无论它在什么设备上?

我注意到的另一件事是 getTime 的值实际上是错误的。在 MySQL 中,当我执行 UNIX_TIMESTAMP(now()) 时,它给出的结果如下:

1391732897

虽然 Java 中的 getTime 给我带来了这样的结果:

1391732385372

为什么 Java 的那么长?

最佳答案

MySQL 的 UNIX_TIMESTAMP() 给出以秒为单位的时间,而 Java 的 new Date().getTime() 给出以毫秒为单位的时间。

关于java - 日期值不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21617248/

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