java日期类 和 java8新的日期类

Java中日期类的使用

Java中和时间相关的类: Calendar 和 LocalDateTime

System

System.currentTimeMillis() : 返回相对于时间1970 01-01 00:00:00 的的所有毫秒数

Date 类

Date 的构造方法:
public Date(){
	this(System.currentTimeMillis());
}
public Date(long currentTimeMillis){
this(currentTimeMillis);
}

DateFormat 和 SimpleDateFormat

//后者继承前者,所属包为:java.text 该包大部分是用作格式化
DateFormat 是抽象类,所以对于日期的格式化常常是使用:SimpledateFormate 进行

经常使用的方法:静态
格式构造形式:new SimpleFormat(String format);
public String format(Date date);
//使用特定格式解析
public Date parse(String string); 根据构造方法的格式进行解析字符串,返回Date 类,传入的字符串格式需要和构造方法的格式一致

可以使用的格式:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XNjIABJe-1571295892528)(./date1.png)]

Calendar 类

一般是直接堆日期做加减,或者是直接获取日期中的某个具体的年 月 日 的时候比较常用

常用的属性:
YEAR MONTH WEEK_OP_YEAR ....
getInstance(); 获取一个实例 当前日期
get set 方法
对于月份标注是从 0 开始的需要特别注意一下
add(int num,int value);//设置方式注意 两个传入的参数类型都是int 类型

经常使用的操作:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qJxlqu5o-1571295892529)(./date2.png)]

Java8的日期特性 新的日期操作

java.time包里面的日期相关类

Instant:时间戳
Duration:持续时间,时间差
LocalDate:只包含日期,比如:2019-02-02
LocalTime:只包含时间,比如:23:12:10
LocalDateTime:包含日期和时间,比如:2019-02-02 23:14:21
Period:时间段
ZoneOffset:时区偏移量,比如:+8:00
ZonedDateTime:带时区的时间
Clock:时钟,比如获取目前美国纽约的时间

当前日期获取:

Localdate localdate = LocalDate.now();

//获取某个月份的第一天
LocalDate firstDay =  localDate.with(TemporalAdjusters.firstDayOfMonth());
LocalDate firstDay =  localDate.withDayOfMonth(1);
//最后一天
LocalDate lastDay =  localDate.with(TemporalAdjusters.lastDayOfMonth());
//日期加
LocalDate tomorrow =  localDate.plusDays(1);
//闰年判断
boolean aa =localDate.isLeapYear();
//指定日期
LocalDate localDate =LocalDate.of(2019,01,01);

日期操作和比较:

   LocalTime localTime =LocalTime.now();
    获取当前时间不显示毫秒 10:13:14
    LocalTime localTime1 =LocalTime.now().withNano(0);
    //指定时间
    LocalTime time =LocalTime.of(0,0,20);
    LocalTime time1 =LocalTime.parse("10:20:20");
    //当前时间+2h
    LocalTime add =localTime.plus(1, ChronoUnit.HOURS);
    LocalTime add1 =localTime.plusHours(1);
	//日期前后比较
  LocalDate today = LocalDate.now();
    LocalDate specifyDate = LocalDate.of(2018, 12, 20);
    System.out.println(today.isBefore(specifyDate)); //false
    System.out.println(today.isAfter(specifyDate)); //true 

Java8 新增加的日期类都是线程安全的,可以直接完成一些通用的任务,例如:加减 格式化 解析 从日期中单独提取出一部分等操作。

新的日期/时间 API 是工作在 ISO-8601 日历系统上的,但我们也可以将其应用在非 ISO的日历上

java.Time 上面常用的几个类:
LocalTime
LocalDate
LocalDateTime
instant
temporal


啊啊啊啊! 好多,慢慢写,感觉要写一下午了

java 8 ———— 包 java.time

所包含的类:

java.time 官方文档

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值