本文主要是介绍您活了多久,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
环境:jdk8
1.准备知识:获取毫秒数的几种方式
Instant in1 = Instant.now();
//获取0时区的相对于1970年的毫秒数
System.out.println("方式1:"+in1.toEpochMilli());
//底层实际还是调用了toEpochMilli();
System.out.println("方式2:"+Clock.systemUTC().millis());
System.out.println("方式3:"+System.currentTimeMillis());
System.out.println("方式4:"+ Calendar.getInstance().getTimeInMillis());
2.例子
//注意:LocalDate没有转换为Instant的方法
// LocalDateTime则有这个方法
@Test
public void testName4() {
//得到的是相应字段的减法 比如今天是2017年7月18 返回P25Y1M15D
System.out.println(Period.between(LocalDate.of(1992, 6, 3), LocalDate.now()));
//得到总 月数
System.out.println("总月数:"+Period.between(LocalDate.of(1992, 6, 3), LocalDate.now()).toTotalMonths());
//方法1 利用EpochDay
System.out.println("总天数:"+(LocalDate.now().toEpochDay()-LocalDate.of(1992, 6, 3).toEpochDay()));
//方法2 将LocalDateTime转换为Instant 使用Duration计算
Duration dur = Duration.between(LocalDateTime.of(1992, 06, 03,00,00).toInstant(ZoneOffset.UTC), Instant.now());
System.out.println("总天数:"+dur.toDays());
System.out.println("你已经存在了:"+dur.toDays()+"天"+dur.toHours()+"小时"+dur.toMinutes()+"分钟");
}
目前就想到了这2种方法
这篇关于您活了多久的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!