本文目录一览:
- 1、怎么使用Java将时间动态的显示在网页中
- 2、Java中如何实现显示动态的时间?
- 3、java如何在一个文本框动态显示时间?
- 4、JAVA中JLabel动态显示时间的问题。
- 5、在java中,要如何在一个文本框动态显示时间?
怎么使用Java将时间动态的显示在网页中
一段js实现吧:
JScript code
很简单的一个功能函数,用Date()对象获取到当前时间,然后用setTimeout每隔1秒获取最新的时间.
写的过程中碰到过一个小小的问题: 我最初的想法是用setInterval()每隔1秒获取最新时间,可是可以,但setInterval如果放在主函数内部,但导致内存泄漏(至于原因,暂时还没想明白),后来在Rocky的提醒下用setTimeout()才解决内存泄漏问题
function nowTime(ev,type){
/*
* ev:显示时间的元素
* type:时间显示模式.若传入12则为12小时制,不传入则为24小时制
*/
//年月日时分秒
var Y,M,D,W,H,I,S;
//月日时分秒为单位时前面补零
function fillZero(v){
if(v10){v='0'+v;}
return v;
}
(function(){
var d=new Date();
var Week=['星期天','星期一','星期二','星期三','星期四','星期五','星期六'];
Y=d.getFullYear();
M=fillZero(d.getMonth()+1);
D=fillZero(d.getDate());
W=Week[d.getDay()];
H=fillZero(d.getHours());
I=fillZero(d.getMinutes());
S=fillZero(d.getSeconds());
//12小时制显示模式
if(type type==12){
//若要显示更多时间类型诸如中午凌晨可在下面添加判断
if(H=12){
H='上午 '+H;
}else if(H12 H24){
H-=12;
H='下午 '+fillZero(H);
}else if(H==24){
H='下午 00';
}
}
ev.innerHTML=Y+'年'+M+'月'+D+'日 '+' '+W+' '+H+':'+I+':'+S;
//每秒更新时间
setTimeout(arguments.callee,1000);
})();
Java中如何实现显示动态的时间?
利用死循环和线程,让线程在循环中每sleep1秒,重新获取下系统时间不就是动态显示时间了吗
while(true){
Date date=new Date(System.currentTimeMillis());
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(date);
//每一秒刷新下时间
try {
Thread.sleep(1000);//sleep是以ms为单位
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
你可以试下代码,看看是不是你要的效果
java如何在一个文本框动态显示时间?
package cn.test;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class Time extends JFrame {
private JTextField TimeBox = new JTextField();
private Timer timer = new Timer() ;
private SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
public Time() {
TimeBox.setBounds(0, 0, 100, 50);
add(TimeBox);
//方法1 定时器方法
// TimerTask task = new TimerTask() {
// @Override
// public void run() {
// TimeBox.setText(sdf.format(new Date()));
// }
// };
// timer.schedule(task, 1000,1000) ;
//方法2 线程休眠方法
Display timedisplay = new Display();
timedisplay.start() ;
}
private class Display extends Thread {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
public Display() {
System.out.println("display");
}
@Override
public void run(){
while(true){
System.out.println( "Thread is running..." );
TimeBox.setText(sdf.format(new Date()));
try {
Thread.sleep(1000) ;
} catch (InterruptedException e) {
System.out.println("sleep error!!");
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
Time t = new Time() ;
t.setSize(300, 200) ;
t.setResizable(false) ;
t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
t.setVisible(true) ;
}
}
JAVA中JLabel动态显示时间的问题。
初始化你的JLabel
,实例化new
就可以了。
同时你的程序有个比较严重的问题,那就是线程是否安全,swing不是线程安全的,你在一个新开的线程中更新GUI可能会报错,虽然这样的可能性很低,但是如果你要严谨的话,在你的线程中添加如下代码
SwingUtilities.invokeAndWait(new
Runnable()
{
public
void
run()
{
displayArea.setText(dateFormatter.format(Calendar.getInstance().getTime()));
}
});
在java中,要如何在一个文本框动态显示时间?
html
head
title时钟特效/title
script type="text/javascript"
function disptime(){
var today = new Date(); //获得当前时间
var hh = today.getHours(); //获得小时、分钟、秒
var mm = today.getMinutes();
var ss = today.getSeconds();
/*设置div的内容为当前时间*/
document.getElementById("myclock").innerHTML="h1现在是:"+hh+":"+mm+":"+ss+"h1";
document.getElementById("myClock1").value=hh+":"+mm+":"+ss;
/*
使用setTimeout在函数disptime()体内再次调用setTimeout
设置定时器每隔1秒(1000毫秒),调用函数disptime()执行,刷新时钟显示
*/
var myTime=setTimeout("disptime()",1000);
}
/script
/head
body onload="disptime()"
div id="myclock"/div
input type="text" id="myClock1" value=""/input
/body
/html