gpt4 book ai didi

java - Java当前时间(逻辑错误)时区: US Eastern Time

转载 作者:行者123 更新时间:2023-11-30 07:29:25 26 4
gpt4 key购买 nike

我的代码中似乎存在逻辑错误。现在时间是:14:38,但是我的代码显示 18:38。我知道我可以使用日历类,但我想知道为什么这段代码是错误的。

代码如下:

public class welcome{
public static void main(String args[]){
//get total milliseconds since 1970
long total_millisec = System.currentTimeMillis();

// compute total seconds since 1970
long total_sec = total_millisec / 1000;

//compute current second
long current_sec = total_sec % 60;

//compute total minutes since epoch
long total_mins = total_sec / 60;

//compute current minute
long current_min = total_mins % 60;

//compute total hours
long total_hours = total_mins / 60;

//compute current hour
long current_hour = total_hours % 24;

System.out.println("Time is: "+current_hour+":"+current_min+":"
+current_sec);

}

}

最佳答案

当您执行计算时,假定 System.currentTimeMillis() 返回 1970 年 1 月 1 日午夜(即 1970-01-01 00:00)与当前时间之间的毫秒差。尝试评估系统中的基准日期并查看它会是什么:

System.out.println("" + new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm").format(new java.util.Date(0)));

它可能会返回类似 1969-12-31 19:00 的内容,而这不是午夜。

System.currentTimeMillis() 返回与表达式相同的值:

long currentTime = new java.util.Date().getTime() - new java.util.Date(0).getTime();

关于java - Java当前时间(逻辑错误)时区: US Eastern Time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36363632/

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