常用API(2)

JDK8:中新增时间对象是不可变的,如果增加或减少时间,是创建了一个新的时间。

Zoneld时区:

public class test {
		public static void main(String [] arg) throws ParseException {
	    //获取所有时区名称
		Set<String> z=ZoneId.getAvailableZoneIds();
		System.out.println(z.size());
		System.out.println(z);
		//获取默认时区
		ZoneId z1=ZoneId.systemDefault();
		System.out.println(z1);
		//获取指定时区
		ZoneId z2=ZoneId.of("Asia/Aqtau");
		System.out.println(z2);
		}
}

Instant时间戳

public class test {
		public static void main(String [] arg) throws ParseException {
	    //获取当前	Instant对象
		Instant n1=Instant.now();
		System.out.println(n1);
		//根据(秒,毫秒,纳秒)获取当前时间对象
		Instant n2=Instant.ofEpochMilli(10L);//毫秒
		System.out.println(n2);
		Instant n3=Instant.ofEpochSecond(2L);//秒
		System.out.println(n3);
		Instant n4=Instant.ofEpochSecond(2L, 1000000000L);//纳秒
		System.out.println(n4);
		//指定时区
		ZonedDateTime time=Instant.now().atZone(ZoneId.of("Asia/Shanghai"));
		System.out.println(time);
		//isXXX判断时间
		Instant n5=Instant.ofEpochMilli(0L);
		Instant n6=Instant.ofEpochMilli(1000L);
		boolean result=n5.isBefore(n6);
		System.out.println(result);
		//减少时间
		Instant n7=Instant.ofEpochSecond(8L);
		Instant n8=n7.minusSeconds(1L);
		System.out.println(n7);
		System.out.println(n8);
		}
}

ZoneDateTime:

DateTimeFormatter

public class test {
		public static void main(String [] arg) throws ParseException {
		//获取时间对象
	  	ZonedDateTime time=Instant.now().atZone(ZoneId.of("Asia/Shanghai"));
		System.out.println(time);
		//解析,指定格式
		DateTimeFormatter d =DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss EE a");
		//格式化
		String t=d.format(time);
		System.out.println(t);
		}
}

Calendar日历:

public class test {
		public static void main(String [] arg) throws ParseException {
		    //获取当前时间对象
			LocalDate l1=LocalDate.now();
			System.out.println(l1);
		    //指定时间对象
			LocalDate l2=LocalDate.of(2003, 10, 13);
			System.out.println(l2);
			//获取日历中的年月日:对象.get..
			int year=l1.getYear();
			System.out.println(year);
			//修改时间
			LocalDate l3=l1.withYear(2010);
			System.out.println(l3);
			//获取时分秒
			LocalTime T=LocalTime.now();
			System.out.println(T);
			//获取年月日时分秒
			LocalDateTime t1=LocalDateTime.now();
			System.out.println(t1);
		}
}

工具类:

Period.between(l1,l2):第二个参数减第一个参数。

period.getYears();//获取年

duration.toDays();//获取时间差

System.out.println(ChronoUnit.YEARS.between(birthday,today));//获取相差年

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值