package cn.hp.demo;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo01 {
public static void main(String[] args) throws ParseException {
//如何创建日期对象
Date date1 = new Date();
System.out.println("date1 = " + date1);
//获取日期字段的方法
System.out.println(date1.getYear()+1900+"年");
System.out.println(date1.getMonth()+1+"月");
System.out.println(date1.getDate()+"日");
System.out.println(date1.getHours()+":");
System.out.println(date1.getMinutes()+":");
System.out.println(date1.getSeconds());
//格式化日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E");
//格式化日期
String s = sdf.format(date1);
System.out.println("s = " + s);
Date date2 = sdf.parse("2025年10月1日 00:00:00");
System.out.println("date2 = " + date2);
}
}
package cn.hp.demo;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Calendar;
import java.util.Date;
public class Demo3 {
public static void main(String[] args) {
//创建日历对象
Calendar cal = Calendar.getInstance();
//设置日期
cal.set(Calendar.MONTH,9);
System.out.println("cal + " + cal);
//获取日期
System.out.println(cal.get(Calendar.YEAR)+"年");
System.out.println(cal.get(Calendar.MONTH)+"月");
System.out.println(cal.get(Calendar.DATE)+"日");
System.out.println(cal.get(Calendar.HOUR_OF_DAY)+":");
System.out.println(cal.get(Calendar.MINUTE)+":");
System.out.println(cal.get(Calendar.SECOND));
//如何转换为Date
Date date = cal.getTime();
System.out.println("date = " + date);
//从1970年至今的毫秒数
System.out.println(cal.get(Calendar.MILLISECOND));
//演示Fu调用方法,间接创建子类型对象
Fu fu = Fu.getInstance();
System.out.println("Fu = " + fu);
//新特性,jdk1.8新增内容
LocalDate now1 = LocalDate.now();
System.out.println("now1 = " + now1);
LocalDateTime now = LocalDateTime.now();
System.out.println("now = " + now);
}
}
//理解通过一个类方法获取子类对象
abstract class Fu{
public static Fu getInstance(){
return new Zi();
}
}
class Zi extends Fu{
}
倒计时案列
package cn.hp.demo;
import java.io.IOException;
import java.util.Date;
public class Demo2 {
public static void main(String[] args) throws InterruptedException, IOException {
//倒计时多少多少秒后关机
int s = 60;
//60秒后的时间
Date mb = new Date();
mb.setMinutes(mb.getMinutes()+1);//原有分钟加一
long a = mb.getTime();//从1970年至今的毫秒数
while (true){
Date now = new Date();//当前时间
long b = now.getTime();//从1970年至今的毫秒数
//时间差
long c = a-b;
//是否时间到了
if (c <= 0) {
System.out.println("时间到了开始关机。。。");
//Runtime是计算机环境 getruntim()获取环境对象
Runtime runtime = Runtime.getRuntime();
runtime.exec("shutdown -s -t 60 -f ");//执行计算机命令的方法
break;//结束循环
}
//倒计时显示
System.out.println("剩余" + c/1000 + "秒");
//休眠
Thread.sleep(1000);
}
}
}
数字格式化类
package cn.hp.demo;
import java.text.DecimalFormat;
import java.text.ParseException;
public class Demo4 {
public static void main(String[] args) throws ParseException {
/*
* 数字格式化
*
* 有一位小数 123.45678,要求保留两位小数
*
* */
double d = 123.45678;
DecimalFormat df = new DecimalFormat("0.00");
//格式化
String s = df.format(d);//自带四舍五入
System.out.println("s = " + s);
//解析字符串
Number n = df.parse("1234.56");
double v = n.doubleValue();
System.out.println("v = " + v);
/*
* 货币格式:123.456.789
* */
double money = 123456789.5678;
DecimalFormat df2 = new DecimalFormat("000,000.00");
String s2 = df2.format(money);
System.out.println("s2 = " + s2);
}
}