admin管理员组文章数量:1582013
目录
一、执行结果
二、思路
三、实现功能
四、代码
五、不足缺点
一、执行结果
二、思路
- 获取当前时间,获取用户想要关机的时间,计算时间差,通过这个时间差调用执行Windows自带的关机命令“shutdown”
三、实现功能&注意事项
- 根据用户输入时间实现定时关机。
- 将java代码导出为jar文件再根据jar转换为exe执行文件。(利用idea导出为jar,利用exe4j导出为exe)
- 附带exe执行文件。
四、代码
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
//敬德原创
//2022年1月5日 14:55:49
public class shtudown {
public static void main(String[] args)throws IOException {
Scanner input=new Scanner(System.in);
String shutdownTime;
String[]result;
SimpleDateFormat sdf = new SimpleDateFormat();// 格式化时间
sdf.applyPattern("yyyy-MM-dd HH:mm:ss a");// a为am/pm的标记
Date date = new Date();// 获取当前时间
String now=sdf.format(date);
System.out.println("现在是:" + now); // 输出已经格式化的现在时间(24小时制)
System.out.println("几点关机(二十四小时制,例如21:57)?");
while (true){
shutdownTime=input.next();
result=shutdownTime.split(":");
if (result.length != 2){
System.out.println("请重新输入:");
result=null;
}else{
break;
}
}
int shutdownTimeInt=Integer.parseInt(result[0])*60 + Integer.parseInt(result[1]) ;//关机时间距离00:00的分钟数
int nowTimeInt=Integer.parseInt(now.substring(11,13))*60 + Integer.parseInt(now.substring(14,16));//现在时间距离00:00的分钟数
int disparityMin;
//关机时间>当前时间则是当天关机,否则是第二天关机
if (shutdownTimeInt > nowTimeInt){
disparityMin=shutdownTimeInt-nowTimeInt;
}else {
disparityMin=24*60-nowTimeInt+shutdownTimeInt;
}
System.out.println(disparityMin);
// 设置自动关机,1000秒(1小时)
disparityMin *=60;
Runtime.getRuntime().exec("shutdown -s -t "+ String.valueOf(disparityMin));//1h = 3600s 3min=180
System.out.println("输入123123取消关机");
//取消关机
if (input.nextInt()==123123){
Runtime.getRuntime().exec("shutdown -a");
}
}
}
五、不足缺点
- 当前仅能实现简单的关机,最大24h内关机,如果想实现在某天某刻关机,可自行更改代码。
- 并未实现多余测试,比如输入88:88依旧会执行成功(实际现实中上并没有88:88这个“时间”)
exe执行文件(电脑须有java环境):
「自动关机.exe」https://www.aliyundrive/s/ucknMgvBw45 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
exe4j工具下载地址:exe4j下载-exe4j官方版下载[文件生成]-华军软件园 (onlinedown)
-----------------------------------------------------------------------------------------------------------
最后
可以点个赞吗亲
版权声明:本文标题:java实现自动关机(含exe执行文件) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1727888202a1136134.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论