时间循环java代码 java循环间隔一定时间运行

Java用线程循环换获取当前时间问题!每秒刷新一次~ 求代码,~!import java.awt.Toolkit;
import java.util.Calendar;
import javax.swing.*;
public class Time extends JFrame implements Runnable{
int year = 0;
int moth = 0;
int day = 0;
int hour = 0;
int minute = 0;
int second = 0;
int width = Toolkit.getDefaultToolkit().getScreenSize().width;
int height = Toolkit.getDefaultToolkit().getScreenSize().height;
JLabel jl1 = null;
public Time(){
Calendar c=Calendar.getInstance();//获得系统当前日期
year=c.get(Calendar.YEAR);
moth = c.get(Calendar.MONTH)+1;//系统日期从0开始算起
day=c.get(Calendar.DAY_OF_MONTH);
hour = c.get(Calendar.HOUR);//小时
minute =c.get(Calendar.MINUTE);//分
second = c.get(Calendar.SECOND);//秒
jl1 = new JLabel(year + "年" + moth + "月" +day + "日"+ hour+ "时" + minute + "分" +second + "秒");
jl1.setBounds(200, 100, 100, 50);
this.add(jl1);
this.setTitle("时间线程");
this.setLocation((width - 500) / 2, (height - 500) / 2);
this.setSize(500, 500);
this.setVisible(true);
}
public static void main(String[] args) {
Runnable aRunnable = new Time();
new Thread(aRunnable).start();
}
@Override
public void run() {
while(true){
try {
Calendar c=Calendar.getInstance();//获得系统当前日期
year=c.get(Calendar.YEAR);
moth = c.get(Calendar.MONTH)+1;//系统日期从0开始算起
day=c.get(Calendar.DAY_OF_MONTH);
hour = c.get(Calendar.HOUR);//小时
minute =c.get(Calendar.MINUTE);//分
second = c.get(Calendar.SECOND);//秒
jl1.setText(year + "年" + moth + "月" +day + "日"+ hour+ "时" + minute + "分" +second + "秒");
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
java三十分钟循环一次代码这个有两种方法时间循环java代码:
一、时间循环java代码你设置一个定时器时间循环java代码,让定时器每个三十分钟执行一次时间循环java代码,然后调用相关的程序 。
二、你把程序放在线程里时间循环java代码 , 然后每次循环处理完之后调用sleep函数 , 让线程睡眠三十分钟之后继续循环 。
两种方法的区别:
第一种方法用定时器实现,系统记录时间,时间达到条件就会执行,期间不占用资源;
第二种方法是让程序睡眠三十分钟,在睡眠期间线程锁还是被当前的这个线程占用着的,其他线程将得不到执行的机会 。
用java怎么去循环一段时间在一段时间内不停循环是没有意义的,会造成大量消耗系统资源,设置是一段时间内系统死循环 。代码给你,不过要慎用
import java.util.Calendar;
public class Test {
public static void main(String[] args) {
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
// 设置时间为2011-1-1和2011-12-31(月份要减1,固定用法)
c1.set(2011, 1 - 1, 1);
c2.set(2011, 12 - 1, 12);
// 把时间转换成毫秒
long timeStart = c1.getTimeInMillis();
long timeEnd = c2.getTimeInMillis();
// 获取当前时间的毫秒
long nowTime = System.currentTimeMillis();
// 如果当前时间处于两者之间,就不停循环
while (nowTime = timeStartnowTime = timeEnd) {
// 你要执行的循环内容
nowTime = System.currentTimeMillis();
}
}
}
java里日期循环方法可以通过日期的add(Calendar.MONTH, 1)方法进行月份切换,输出每个满足条件的值
Date d1 = new SimpleDateFormat("yyyy-MM").parse("2015-6");//定义起始日期
Date d2 = new SimpleDateFormat("yyyy-MM").parse("2016-5");//定义结束日期

推荐阅读