微科社区,轻松开发从此开始! 请登陆 免费注册

微科社区

当前位置:首页 > Java平台 > J2SE >

Timer问题

时间:2014-04-14 23:25  浏览:努力统计中...
importjava.util.*; importjava.text.*; classTimerDemo { publicstaticvoidmain(String[]args) { Timertime=newTimer(); SimpleDateFormatsdf=newSimpleDateFormat( kk:mm:ss );//请问 kk:mm:ss 这个格式定义的正确吗 Datedate=sdf.parse( 13:21

import java.util.*;
import java.text.*;
class TimerDemo 
{
        public static void main(String[] args) 
        {
                Timer time = new Timer();
                SimpleDateFormat sdf = new SimpleDateFormat("kk:mm:ss");   //请问"kk:mm:ss"这个格式定义的正确吗
                        Date date = sdf.parse("13:21:30");      //时间还没到,输出语句就先输出了,请问是我哪里写错了
                     time.schedule(new TimerTask() 
                    {
                            public void run()
                            {
                                        System.out.println("关机中。。。");
                            }
                    },date);
                
        }
}

请问"kk:mm:ss"这个格式定义的正确吗

小写的k应该是可以的;


Date date = sdf.parse("13:21:30");      //时间还没到,输出语句就先输出了,请问是我哪里写错了

schedule(TimerTask task, long delay):可以理解为在等待delay毫秒后执行task;这是两个参数的;其实还有三个参数的;
例如:
public static void main(String[] args) throws ParseException
{
Timer time = new Timer();
SimpleDateFormat sdf = new SimpleDateFormat("kk:mm:ss"); // 请问"kk:mm:ss"这个格式定义的正确吗
Date date = sdf.parse("19:21:30"); // 时间还没到,输出语句就先输出了,请问是我哪里写错了
time.schedule(new TimerTask()
{
public void run()
{
System.out.println("关机中。。。");
}
}, 10*1000);

}

这是等待10秒后执行;
你可以生成一个变量,保存13:21:30这个时间和当前时间的差值;
然后将10*1000换成这个变量;
记得是毫秒;



java.util包里Timer有schedule(TimerTask task, Date time)方法和schedule(TimerTask task, long delay)方法,你说的是第二个,但我想使用第一个(其实我是想编一个定时关机Swing程序,第一个schedule(TimerTask task, Date time)方法比较方便)。

SimpleDateFormat sdf = new SimpleDateFormat();   
   Date date = sdf.parse("2014-04-14 上午20:21");      
这是我之前编写的,能在指定时间实现关机。
但换成现在的语句却不行了(而是直接关机。。。)


抱歉写错了
是 Date date = sdf.parse("2014-04-14 上午08:21");      

貌似是你的格式有点问题;run中是执行关机的命令吧?
class TimerDemo
{
public static void main(String[] args) throws ParseException
{
Timer time = new Timer();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy:MM:dd kk:mm"); // 请问"kk:mm:ss"这个格式定义的正确吗
Date date = sdf.parse("2014:04:14 21:06");
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线------