Java (纯代码)Date、LocalDate、LocalDateTime、LocalTime、时间戳 之间的相互转换


前言

Date、LocalDate、LocalDateTime、LocalTime、时间戳 之间的相互转换


一、Date转LocalDateTime

	@Test
	public void test06(){
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		// Date
		Date date = new Date();
		System.out.println("Date\t" + sdf.format(date));

		// Date 转 LocalDateTime
		DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
		LocalDateTime dateToLocalDateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
		System.out.println("Date To LocalDateTime\t" + dtf.format(dateToLocalDateTime));
	}

二、Date转LocalDate

	@Test
	public void test07(){
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		// Date
		Date date = new Date();
		System.out.println("Date\t" + sdf.format(date));

		// Date 转 LocalDate
		// 注意 LocalDate 只能有年月日,格式化日期不能有时分秒,否则会报错
		DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
		LocalDate dateToLocalDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
		System.out.println("Date To LocalDate\t" + dtf.format(dateToLocalDate));
	}

三、LocalDateTime转LocalDate

	@Test
	public void test08(){
		// LocalDateTime 转 LocalDate
		DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
		LocalDate localDateTimeToLocalDate = LocalDateTime.now().toLocalDate();
		System.out.println("LocalDateTime To LocalDate\t" + dtf.format(localDateTimeToLocalDate));
	}

四、LocalDateTime转LocalTime

	@Test
	public void test09(){
		// LocalDateTime 转 LocalTime
		// 注意 LocalTime 只能有时分秒,格式化日期不能有年月日,否则会报错
		DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HH:mm:ss");
		LocalTime localDateTimeToLocalTime = LocalDateTime.now().toLocalTime();
		System.out.println("LocalDateTime To LocalTime\t" + dtf.format(localDateTimeToLocalTime));
	}

五、LocalDateTime转Date

	@Test
	public void test10(){
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		// LocalDateTime 转 Date
		ZoneId zoneId = ZoneId.systemDefault();
		Date localDateTimeToDate = Date.from(LocalDateTime.now().atZone(zoneId).toInstant());
		System.out.println("LocalDateTime To Date\t" + sdf.format(localDateTimeToDate));
	}

六、LocalDate转Date

	@Test
	public void test11(){
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		// LocalDate 转 Date
		Date LocalDateToDate = Date.from(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant());
		System.out.println("LocalDate To Date\t" + sdf.format(LocalDateToDate));
	}

七、时间戳转LocalDateTime

	@Test
	public void test12(){
		DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
		// 时间戳 转 LocalDateTime
		Long timestamp = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();
		LocalDateTime time2 = LocalDateTime.ofEpochSecond(timestamp/1000,0,ZoneOffset.ofHours(8));
		System.out.println("时间戳 To LocalDateTime\t" + dtf.format(time2));
	}
  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值