gpt4 book ai didi

java - 安卓/Java : Annual countodwn with having to update it constantly

转载 作者:太空宇宙 更新时间:2023-11-04 12:47:04 25 4
gpt4 key购买 nike

我想每年设置一个到年底的倒计时器,而不必更新年份值。在 javascript 中,要获取倒计时日期,它将是:

var date = new Date();
var deadline = ' December 31 ' + date.getFullYear();
var t = Date.parse( deadline ) - Date.parse( new Date() );

我如何在java中实现这个?(是的,我知道java和javascript没有关系,我只是在javascript中实现了它,但无法弄清楚java的情况,刚刚开始学习java......)

代码:

        Calendar endOfYear = Calendar.getInstance();
endOfYear.setTime(new Date(0)); /* reset */
endOfYear.set(Calendar.DAY_OF_MONTH, 31);
endOfYear.set(Calendar.MONTH, 11);
endOfYear.set(Calendar.YEAR, Calendar.getInstance().get(Calendar.YEAR));

Calendar today = Calendar.getInstance();
double t = endOfYear.getTimeInMillis() - today.getTimeInMillis();

double seconds = Math.floor( ( t / 1000 ) % 60 );
double minutes = Math.floor( ( t / 1000 / 60 ) % 60 );
double hours = Math.floor( (t / ( 1000 * 60 * 60 ) ) % 24 );
double days = Math.floor( t / ( 1000 * 60 * 60 * 24 ) );

System.out.printf(days + " days, " + hours + " hours, " + minutes + " minutes and " + seconds + " seconds\n");

输出:

03-24 18:16:05.177 1800-1800/com.ehlien.clevercash I/System.out: 282.0 days, 1.0 hours, 43.0 minutes and 54.0 seconds
03-24 18:16:06.180 1800-1800/com.ehlien.clevercash I/System.out: 282.0 days, 1.0 hours, 43.0 minutes and 53.0 seconds
03-24 18:16:07.182 1800-1800/com.ehlien.clevercash I/System.out: 282.0 days, 1.0 hours, 43.0 minutes and 52.0 seconds
03-24 18:16:08.184 1800-1800/com.ehlien.clevercash I/System.out: 282.0 days, 1.0 hours, 43.0 minutes and 51.0 seconds
03-24 18:16:09.187 1800-1800/com.ehlien.clevercash I/System.out: 282.0 days, 1.0 hours, 43.0 minutes and 50.0 seconds
03-24 18:16:10.190 1800-1800/com.ehlien.clevercash I/System.out: 282.0 days, 1.0 hours, 43.0 minutes and 49.0 seconds

但是还有 5 个小时的休息时间。应该是 6 小时的地方,却显示 1 小时...

最佳答案

你可以尝试这样的事情:

import java.util.Date;
import java.util.Calendar;

public class source {
public static void main(String[] args) {
Calendar endOfYear = Calendar.getInstance();
endOfYear.setTime(new Date(0));
endOfYear.set(Calendar.DAY_OF_MONTH, 31);
endOfYear.set(Calendar.MONTH, 11);
endOfYear.set(Calendar.YEAR, Calendar.getInstance().get(Calendar.YEAR));
Calendar today = Calendar.getInstance();
long t = endOfYear.getTimeInMillis() - today.getTimeInMillis();
long seconds = ( t / 1000 ) % 60 ;
long minutes = ( t / 1000 / 60 ) % 60;
long hours = (t / ( 1000 * 60 * 60 ) ) % 24 ;
long days = t / ( 1000 * 60 * 60 * 24 );
System.out.printf(days + " days, " + hours + " hours, " + minutes + " minutes and " + seconds + " seconds\n");
}
}

这将产生:

280 days, 18 hours, 47 minutes and 41 seconds

关于java - 安卓/Java : Annual countodwn with having to update it constantly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36206230/

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