用java编写一个控制时间的程序

用java编写一个控制时间的程序,第1张

import java.awt.Color

import java.awt.Font

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

import java.text.SimpleDateFormat

import java.util.Calendar

import java.util.Date

import java.util.Locale

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JOptionPane

import javax.swing.JPanel

import javax.swing.JTextArea

public class GetNowTimeDemo{

JFrame frame

JTextArea displayArea1

JTextArea displayArea2

String timestr

Calendar calendar

Date currentDate

SimpleDateFormat sdfyear/乱毁世/年份格式

SimpleDateFormat sdfmonday//月份、日期格式

SimpleDateFormat sdfeee//星期格式

//SimpleDateFormat sdftime//具体时间格式

String stryear//年份

String strmonday//月份、日期

String streee//星期

String nowTime

TimeThread timeThread

SimpleDateFormat sdf=new SimpleDateFormat("hh:mm:ss",Locale.getDefault())

//程序主 *** 作函数

public GetNowTimeDemo(){

frame=new JFrame("现在时间")//显示余局框容器

frame.setLayout(null)

displayArea1=new JTextArea()//大时间显示框

displayArea1.setFont(new Font("宋体",Font.BOLD,30))//设置显示框字体

displayArea1.setBounds(0,0,400,250)

frame.add(displayArea1)//将时间显示框加载到容器中

displayArea1.setEditable(false)

displayArea2=new JTextArea()//具体时间显示框

displayArea2.setFont(new Font("宋体",Font.BOLD,40))//设置显示框字体

displayArea2.setBounds(0,250,400,100)

frame.add(displayArea2)//将时间显示框加载到容器中

displayArea2.setEditable(false)

displayArea2.setForeground(Color.blue)

JPanel panelCon1=new JPanel()//控制面板1

panelCon1.setBounds(0,350,400,80)

frame.add(panelCon1)//将控制面板加载到容器中

JButton getTime=new JButton("获取时间")//哗肢获取时间按钮

panelCon1.add(getTime)//将获取时间按钮加载到控制面板

getTime.addActionListener(new ActionListener(){//获取时间按钮添加动作监听器

public void actionPerformed(ActionEvent e) {//动作监听函数

GetDisTime()//获取并显示时间

}

})

JButton exit=new JButton("退出")//退出按钮

panelCon1.add(exit)//将退出按钮添加到控制面板

exit.addActionListener(new ActionListener(){//退出按钮添加动作监听器

public void actionPerformed(ActionEvent e) {

System.exit(0)//退出

}

})

frame.setLocation(250,50)//设置显示框出现位置

frame.setSize(400,430)//设置显示框大小

frame.setVisible(true)//设置显示框可见性

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)//设置错误处理

}

//获取时间并显示函数

@SuppressWarnings("deprecation")

public void GetDisTime(){

try{

displayArea1.setText("")

calendar=Calendar.getInstance()//获得系统时间日历

currentDate=calendar.getTime()//格式化日历

sdfyear=new SimpleDateFormat("yyyy",Locale.getDefault())//年份格式

stryear=sdfyear.format(currentDate)//年份格式化显示

displayArea1.append("\n\t"+stryear)//年份显示

sdfmonday=new SimpleDateFormat("MMM dd",Locale.getDefault())//月份、日期格式

strmonday=sdfmonday.format(currentDate)//月份、日期格式化显示

displayArea1.append("\n\n\t"+strmonday)//月份、日期显示

sdfeee=new SimpleDateFormat("EEE",Locale.getDefault())//星期格式

streee=sdfeee.format(currentDate)//星期格式化显示

displayArea1.append("\n\n\t"+streee)//星期显示

String time=new Date().toLocaleString()

displayArea1.append("\n"+time)

timeThread=new TimeThread()

timeThread.start()//时间线程启动

//sdftime=new SimpleDateFormat("hh:mm:ss",Locale.getDefault())//具体时间格式

//strtime=sdftime.format(currentDate)//具体时间格式化显示

//displayArea.append("\n\n\t"+strtime)//具体时间显示

//int hour=calendar.get(calendar.HOUR_OF_DAY)

//int minute=calendar.get(calendar.MINUTE)

//int second=calendar.get(calendar.SECOND)

//displayArea.append("\n\n\thour= "+hour+"\n\tminute= "

//+minute+"\n\tsecond= "+second)

}catch(Exception e1){

JOptionPane.showMessageDialog(null,"获取时间出错!")

}

}

class TimeThread extends Thread{

public void run(){

while(true){

try{

calendar=Calendar.getInstance()//获得时间

currentDate=calendar.getTime()//转化为格式化时间

nowTime=sdf.format(currentDate)//将格式化时间转化为设置的String

displayArea2.setText("")

displayArea2.append(" "+nowTime)

Thread.sleep(999)//休眠990us

}catch(Exception e1){

JOptionPane.showMessageDialog(null, "获取时间出错!")

}

}

}

}

//程序主函数

public static void main(String args[]){

new GetNowTimeDemo()

}

}

import java.util.Calendar \x0d\x0aimport java.util.Date \x0d\x0aimport java.util.Timer \x0d\x0aimport java.util.TimerTask \x0d\x0a \x0d\x0apublic class Test { \x0d\x0apublic static void main(String[] args) { \x0d\x0a//timer1() \x0d\x0atimer2() \x0d\x0a//timer3() \x0d\x0a//timer4() \x0d\x0a} \x0d\x0a \x0d\x0a// 第一种方法:设定指定任务task在指慧毁如定时间time执行 schedule(TimerTask task, Date time) \x0d\x0apublic static void timer1() { \x0d\x0aTimer timer = new Timer() \x0d\x0atimer.schedule(new TimerTask() { \x0d\x0apublic void run() { \x0d\x0aSystem.out.println("-------设定要指定任余族务--------") \x0d\x0a} \x0d\x0a}, 2000)// 设定指定的时间time,此处为2000毫秒 \x0d\x0a} \x0d\x0a \x0d\x0a// 第二种方法:设定指定任务task在指定延迟delay后进行固定延迟peroid的执行 \x0d\x0a// schedule(TimerTask task, long delay, long period) \x0d\x0apublic static void timer2() { \x0d\x0aTimer timer = new Timer() \x0d\x0atimer.schedule(new TimerTask() { \x0d\x0apublic void run() { \x0d\x0aSystem.out.println("-------设定要指定任务--------") \x0d\x0a} \x0d\x0a}, 1000, 1000) \x0d\x0a} \x0d\x0a \x0d\x0a// 第三种方法:设定指定任务task在指定延迟delay后进行固定频率peroid的执行。 \x0d\x0a// scheduleAtFixedRate(TimerTask task, long delay, long period) \x0d\x0apublic static void timer3() { \x0d\x0aTimer timer = new Timer() \x0d\x0atimer.scheduleAtFixedRate(new TimerTask() { \x0d\x0apublic void run() { \x0d\x0aSystem.out.println("-------设定要指定任务--------") \x0d\x0a} \x0d\x0a}, 1000, 2000) \x0d\x0a} \x0d\x0a \x0d\x0a// 第四种方法:安排指定的任务task在指定前启的时间firstTime开始进行重复的固定速率period执行. \x0d\x0a// Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period) \x0d\x0apublic static void timer4() { \x0d\x0aCalendar calendar = Calendar.getInstance() \x0d\x0acalendar.set(Calendar.HOUR_OF_DAY, 12)// 控制时 \x0d\x0acalendar.set(Calendar.MINUTE, 0) // 控制分 \x0d\x0acalendar.set(Calendar.SECOND, 0) // 控制秒 \x0d\x0a \x0d\x0aDate time = calendar.getTime()// 得出执行任务的时间,此处为今天的12:00:00 \x0d\x0a \x0d\x0aTimer timer = new Timer() \x0d\x0atimer.scheduleAtFixedRate(new TimerTask() { \x0d\x0apublic void run() { \x0d\x0aSystem.out.println("-------设定要指定任务--------") \x0d\x0a} \x0d\x0a}, time, 1000 * 60 * 60 * 24)// 这里设定将延时每天固定执行 \x0d\x0a} \x0d\x0a}

有。java中有不受自然时枣辩迟间限制的定时器,Java是一门面向对象编程语言,是计算机和个人的灶拿沟通语言凳李,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12478822.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存