怎么时时显示时间

热烈的红颜 2008-04-09 01:10:07
大家帮我以下 小弟不懂
比如现在是3:25显示的是3:25 下一秒自动刷新到3:26.....就像一个电子表自动刷新时间
...全文
164 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
j2eehk 2008-04-21
  • 打赏
  • 举报
回复
我给出我的程序片断:
public void run(){
try
{
Thread.sleep(1000);//睡眠一秒
temp=getTime();//用于显示
}
catch(Exception e)
{
}
}
public String getTime(){
Calendar ca=Calendar.getInstance();
Date t=new Date();
ca.setTime(t);
return (" "+ca.get(Calendar.HOUR_OF_DAY)+
":"+ca.get(Calendar.MINUTE)+":"+ca.get(Calendar.SECOND));
}
misswin 2008-04-20
  • 打赏
  • 举报
回复
getdate()
显示当前时间
热烈的红颜 2008-04-11
  • 打赏
  • 举报
回复
我才来这个论坛 所以没有按么多分.请大家多多原谅 .以后有分一定给你们补上
hnjd314053754 2008-04-11
  • 打赏
  • 举报
回复
时钟指针角度
热烈的红颜 2008-04-11
  • 打赏
  • 举报
回复
哦 谢谢了
热烈的红颜 2008-04-10
  • 打赏
  • 举报
回复
double hourAngle=2*Math.PI*(seconds-3*60*60)/(12*60*60);
double minuteAngle=2*Math.PI*(seconds-15*60)/(60*60);
double secondAngle=2*Math.PI*(seconds-15)/(60);
这个是求的什么角度啊???
热烈的红颜 2008-04-10
  • 打赏
  • 举报
回复
感谢上面的
hnjd314053754 2008-04-10
  • 打赏
  • 举报
回复
给你一个世界时钟的代码,参考一下吧
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class A
{
public static void main(String[] args)
{
TimerTestFrame f=new TimerTestFrame("世界时钟");
}
}
class TimerTestFrame extends Frame
{
public TimerTestFrame(String s)
{
super(s);
addWindowListener(new WindowAdapter()
{
public void windowclosing(WindowEvent e)
{
dispose();
System.exit(0);
}
});
setLayout(new GridLayout(2,6));
ClockCanvas clk1=new ClockCanvas("北京","GMT+8");
ClockCanvas clk2=new ClockCanvas("巴黎","GMT+2");
ClockCanvas clk3=new ClockCanvas("华盛顿","GMT-4");
ClockCanvas clk4=new ClockCanvas("洛杉机","GMT-7");
ClockCanvas clk5=new ClockCanvas("伦敦","GMT+1");
ClockCanvas clk6=new ClockCanvas("东京","GMT+7");
add(clk1); add(clk2); add(clk3); add(clk4); add(clk5); add(clk6);
setSize(500,350); //设置框架
setVisible(true);
}
}
class ClockCanvas extends Canvas implements Runnable
{
private int seconds=0;
private String City;
private GregorianCalendar calendar;
Thread t;
public ClockCanvas(String c,String tz)
{
City=c;
calendar=new GregorianCalendar(TimeZone.getTimeZone(tz));
t=new Thread(this);
t.start();
setSize(125,125);
setBackground(Color.black);
}
//写父类的方法绘制时钟图形
public void paint(Graphics g)
{
Graphics2D g2d=(Graphics2D)g;
BasicStroke bstroke=new BasicStroke(2.0f);//图形图元轮廓呈现
g2d.setStroke(bstroke);
g2d.setColor(Color.green);
g2d.drawOval(0,0,100,100);
bstroke=new BasicStroke(5.0f);
g2d.setStroke(bstroke);
g2d.drawLine(50,0,50,5);
g2d.drawLine(0,50,5,50);
g2d.drawLine(95,50,98,50);
double hourAngle=2*Math.PI*(seconds-3*60*60)/(12*60*60);
double minuteAngle=2*Math.PI*(seconds-15*60)/(60*60);
double secondAngle=2*Math.PI*(seconds-15)/(60);
bstroke=new BasicStroke(5.0f);
g2d.setStroke(bstroke);
g2d.drawLine(50,50,50+(int)(30*Math.cos(hourAngle)),50+(int)(30*Math.sin(hourAngle)));
bstroke=new BasicStroke(3.0f);
g2d.setStroke(bstroke);
g2d.drawLine(50,50,50+(int)(30*Math.cos(hourAngle)),50+(int)(40*Math.sin(minuteAngle)));
bstroke=new BasicStroke(1.0f);
g2d.setStroke(bstroke);
g2d.drawLine(50,50,50+(int)(45*Math.cos(secondAngle)),50+(int)(45*Math.sin(secondAngle)));
g2d.setColor(Color.red);
g2d.drawString(City,35,115);
}
public void timeElapsed()
{
calendar.setTime(new Date());
seconds=calendar.get(Calendar.HOUR)*60*60+calendar.get(Calendar.MINUTE)*60+calendar.get(Calendar.SECOND);
}
public void run()
{
try
{
while(true)
{
t.sleep(300);
timeElapsed();
repaint();
}
}
catch(InterruptedException e){}
}
}
热烈的红颜 2008-04-09
  • 打赏
  • 举报
回复
谢谢了
热烈的红颜 2008-04-09
  • 打赏
  • 举报
回复
哦 谢谢了 我现在才开始学JSP 所以,.....
BradenCao 2008-04-09
  • 打赏
  • 举报
回复
用JS实现很方便
valen_jia 2008-04-09
  • 打赏
  • 举报
回复
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Date;
import java.text.SimpleDateFormat;

public class MyClock extends JFrame implements ActionListener,Runnable
{
private JLabel L1;
private JButton bt;

public void run()
{
try{
while(true){
Date a = new Date();
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
L1.setText(f.format(a));
Thread.sleep(1000);
}
}
catch(Exception ee){
}
}

public void actionPerformed(ActionEvent e)
{
new Thread(this).start();
}

public MyClock()
{
this.setBounds(100,100,300,100);
Container cc = this.getContentPane();
cc.setLayout(new FlowLayout());

L1 = new JLabel("xxxxx");
bt = new JButton("闹钟");

cc.add(L1);
cc.add(bt);

bt.addActionListener(this);
}


public static void main(String[] args)
{
new MyClock().setVisible(true);
}
}

给你写了个,用的SWING,你参考下吧
awusoft 2008-04-09
  • 打赏
  • 举报
回复
如果是B/S,就用JS,我说说原理
首先你要会取得当前时间,也就是时分秒.

把这些代码放在一个函数里.执行这个函数的时候让下一步再执行这个函数,这样每次都是得到当前时间,但是一秒取一次,刚好就是了.

关键代码
function getTime()
{

//取得当前时间
var date = new Date()
var year = date.getYear();
.
..
...
....
.....
......

setTimeout("getTime()",1000);//1000表示ms.
}
valen_jia 2008-04-09
  • 打赏
  • 举报
回复
用线程

50,503

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧