java实现定时关机

来源:互联网 发布:mac java version 编辑:程序博客网 时间:2024/04/29 00:30
public static void main(String[] args) {//定时关机//显示当前时间Calendar c1=Calendar.getInstance();    //创建当前时间的日历类对象Date nowDay=c1.getTime();              //获取当前日期对象SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); //时间格式化类System.out.println(sdf.format(nowDay));           //转化时间格式并输出//设置关机时间 Scanner in =new Scanner(System.in);System.out.println("请设置您要关机的时间:");System.out.print("时:");int offHour=in.nextInt();System.out.print("分:");int offMinute=in.nextInt();//比较当前时间和关机时间 比较小时部分 如果关机时间小于当前时间  就设置成明天才关机  //                        如果关机时间等于当前时间  而关机分钟数小于当前分钟数 也设置成明天才关机int hour=c1.get(Calendar.HOUR_OF_DAY);     //获取当前时间的小时数int minute=c1.get(Calendar.MINUTE);        //获取当前时间的分钟数//创建关机时间的日历类对象Calendar c2=Calendar.getInstance();if(offHour<hour){c2.add(Calendar.DAY_OF_MONTH,1);}else if(offHour==hour&&offMinute<minute){c2.add(Calendar.DAY_OF_MONTH, 1);}//设置关机时间的小时部分和分钟部分c2.set(Calendar.HOUR_OF_DAY ,offHour);c2.set(Calendar.MINUTE, offMinute);//比较两个时间的毫秒值long sub=c2.getTimeInMillis()-c1.getTimeInMillis();System.out.println("还有"+(sub/1000/60)+"分钟关机");System.out.println("是否设置定时关机(y/n)");String flag=in.next();if("y".equals(flag)){System.out.println("倒计时中。。。。。");new Timer().schedule(new TimerTask(){public void run(){try {Runtime.getRuntime().exec("shutdown -s ");} catch (IOException e) {e.printStackTrace();}}}, sub);}}

1 0