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应用程序、分布式系统和嵌入式系统应用程序。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)