日期的三种方式使用

阅读 59

2022-03-20

1.Date

(1)获取当前的系统时间

//获取当前的系统时间
//该类(Date)是在java.util包下
//默认输出的格式是:月日年,因此通常需要转换格式
Date d1 = new Date();
System.out.println("当前日期 = " + d1);

(2)转换日期格式

单词区:SimpleDateFormat:日期格式 format:格式化

//转换日期格式,承接上一段代码
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss E");
String time = sdf.format(d1);
System.out.println("当前日期 = " + time);

(3)通过获得毫秒数得到时间

Date d2 = new Date(47687686);
System.out.println("d2 = " + d2);

(4)将String格式化的日期转换成Date

//可以把一个格式化的String 转成对应的Date
//在把String -> Date ,使用sdf格式需要和你给的String的格式一样,否则会抛出转换异常
String s = "2020年03月17日 21:30:25 星期四";
Date parse = sdf.parse(s);
System.out.println("parse = " + parse);

2.Calendar类

//1.Calendar是一个抽象类, 并且构造器是private
//2.可以通过getInstance() 来获取实例
//3.还提供大量的方法和字段使用
//4.Calendar没有提供对应的格式化的类,因此需要我们自己组合

(1)创建一个日历对象

//创建日历对象
Calendar c = Calendar.getInstance();
System.out.println("c = " + c);

(2)获取日历对象的某个日历字段

System.out.println("年:" + c.get(Calendar.YEAR));
//月份默认返回从 0 开始  因此需要 + 1
System.out.println("月:" + (c.get(Calendar.MONTH)+1));
System.out.println("日:" + c.get(Calendar.DAY_OF_MONTH));
System.out.println("小时:" + c.get(Calendar.HOUR));
System.out.println("分钟:" + c.get(Calendar.MINUTE));
System.out.println("秒:" + c.get(Calendar.SECOND));

3.第三种日期使用

(1)LocalDate(日期/年月日)、LocalTime(时间/时分、LocalDateTime(日期时间/年月日时分秒)JDK8加入

//now() 返回一个当前的时间
//LocalDate.now();//年月日
//LocalTime.now();//时分秒
LocalDateTime ldt =  LocalDateTime.now();//返回当前的年月日时分秒
System.out.println("当前的时间" + ldt);
//获取年
System.out.println("年 = " + ldt.getYear());
//获取月  具体的数字
System.out.println("月(数字) = " + ldt.getMonthValue());
//获取月  英文字母
System.out.println("月(字母) = " + ldt.getMonth());
//日
System.out.println("日 = " + ldt.getDayOfMonth());
//时
System.out.println("时 = " + ldt.getHour());
//分
System.out.println("分 = " + ldt.getMinute());
//秒
System.out.println("秒 = " + ldt.getSecond());

(2) DateTimeFormatter格式日期类

//now() 返回一个当前的时间
//LocalDate.now();//年月日
//LocalTime.now();//时分秒
LocalDateTime ldt =  LocalDateTime.now();//返回当前的年月日时分秒
System.out.println("当前的时间" + ldt);
​
//格式化时间
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String format01 = dtf.format(ldt);
System.out.println(format01);

(3)Instant时间戳

//提供plus 和 minus 方法进行对时间的增加和删除
LocalDateTime ldt =  LocalDateTime.now();
System.out.println(ldt);
​
//增加100天
LocalDateTime ldt02 = ldt.plusDays(100);
//减去50天
LocalDateTime ldt03 = ldt.minusDays(50);
​
//日期格式转化   formatter : 格式化
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss ");
String format01 = dtf.format(ldt02);
String format02 = dtf.format(ldt03);
​
System.out.println(format01);
System.out.println(format02);

精彩评论(0)

0 0 举报