import java.util.*;
import java.io.IOException;
import java.text.*;
public class TestCalendar {
/*
* 本程序的目的 计算出距当前日期时间315天后的日期时间,
* 并用“xxxx年xx月xx日 xx小时: xx分:xx秒”的格式输出
* 并将“2002-03-15”格式的日期字符串转换成“2002年03月15日”的格式
* 并在程序运行后10秒启动windows自带的计算器程序
* 当计算器程序结束后程序也自动的结束
* TimerTask 类实现了Runable接口,要执行的任务有它里面的实现的run方法来完成
*/
public static void main(String[] args) {
Calendar ca = Calendar.getInstance();
System.out.println("当前的时间是:"+
ca.get(ca.YEAR) + "年" + ca.get(ca.MONTH) + "月" +
ca.get(ca.DAY_OF_MONTH) + "日 " + ca.get(ca.HOUR) + ":" +
ca.get(ca.MINUTE) + ":" + ca.get(ca.SECOND) );
ca.add(ca.DAY_OF_YEAR, 315);//增加315天
System.out.println("315天后的日期是:"+
ca.get(ca.YEAR) + "年" + ca.get(ca.MONTH) + "月" +
ca.get(ca.DAY_OF_MONTH) + "日 " + ca.get(ca.HOUR) + ":" +
ca.get(ca.MINUTE) + ":" + + ca.get(ca.SECOND) );
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sd = new SimpleDateFormat("yyyy年MM月dd日");
Date da = null;
try {
da = sdf.parse("2002-03-15");
//用yyyy-MM-dd格式从2002-03-15 提取时间值
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(sd.format(da));
//把日期值按照yyyy年MM月dd日格式输出
/*new Timer().schedule(new TimerTask()
{
public void run(){
try {
Runtime.getRuntime().exec("calc.exe");
} catch (IOException e) {
e.printStackTrace();
}
}
}, 10000);
schedule方法 主要作用是隔多少时间自动的执行一个任务
或者是每隔多少时间重复的执行某个任务
这样编写代码的话 当计算机程序启动后 main方法的却不会结束
*/
class MyTimerTask extends TimerTask{
private Timer tm = null;
public MyTimerTask(Timer tm){
this.tm = tm;
}
public void run(){
try {
Runtime.getRuntime().exec("calc.exe");
} catch (IOException e) {
e.printStackTrace();
}
//结束任务线程的代码
tm.cancel();
//当任务结束后 程序也自动的结束
}
}
Timer tm = new Timer();
tm.schedule(new MyTimerTask(tm),10000);
}
}
计算出距当前时间315天后的日期时间 并在程序运行10秒后启动计算器程序
最新推荐文章于 2022-03-04 10:06:57 发布