这里有新鲜出炉的 Java 函数式编程,程序狗速度看过来!
Java 程序设计语言
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称.
这篇文章主要介绍了详解 java 倒计时三种简单实现方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧
写完 js 倒计时,突然想用 java 实现倒计时,写了三种实现方式
一:设置时长的倒计时;
二:设置时间戳的倒计时;
三:使用 java.util.Timer 类实现的时间戳倒计时
代码如下:
* java演示倒计时
package timer;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
/**
* 方式三: 使用java.util.Timer类进行倒计时
* */
public class TimeTest {
public static int time = 60 * 60 * 60;
public static Calendar c;
public static long endTime;
public static Date date;
public static long startTime;
public static long midTime;
public static void main(String[] args) {
c = Calendar.getInstance();
c.set(2017, 4, 17, 0, 0, 0); / / 注意月份的设置,
0 - 11表示1 - 12月
// c.set(Calendar.YEAR, 2017);
// c.set(Calendar.MONTH, 4);
// c.set(Calendar.DAY_OF_MONTH, 17);
// c.set(Calendar.HOUR_OF_DAY, 0);
// c.set(Calendar.MINUTE, 0);
// c.set(Calendar.SECOND, 0);
endTime = c.getTimeInMillis();
date = new Date();
startTime = date.getTime();
midTime = (endTime - startTime) / 1000;
// time1();//方式一
time2(); // 方式二
// time3();//方式三
}
/***/
* 方式二: 设定时间戳,倒计时
* /
private static void time3() {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
midTime--;
long hh = midTime /60 / 60 % 60;
long mm = midTime / 60 % 60;
long ss = midTime % 60;
System.out.println("还剩" + hh + "小时" + mm + "分钟" + ss + "秒");
}
},
0, 1000);
}
/***/
* 方式一: 给定时长倒计时
* /
private static void time2() {
while (midTime > 0) {
midTime--;
long hh = midTime /60 / 60 % 60;
long mm = midTime / 60 % 60;
long ss = midTime % 60;
System.out.println("还剩" + hh + "小时" + mm + "分钟" + ss + "秒");
try {
Thread.sleep(1000);
} catch(InterruptedException e) {
e.printStackTrace();
}
}
}
/***/
运行结果:
* /
private static void time1() {
while (time > 0) {
time--;
try {
Thread.sleep(1000);
int hh = time /60 / 60 % 60;
int mm = time / 60 % 60;
int ss = time % 60;
System.out.println("还剩" + hh + "小时" + mm + "分钟" + ss + "秒");
} catch(InterruptedException e) {
e.printStackTrace();
}
}
}
}
time1() 结果:
time2() 结果:
time3() 结果:
来源: http://www.phperz.com/article/18/0114/353342.html