jdk8 Instant 、LocalDateTime、字符串时间互转

1.创建时间:
		//ZonedDateTime 包含时区、LocalDateTime 不包含时区信息默认本地时区
  		LocalDateTime ldt = LocalDateTime.now();//2020-04-09T14:32:29.681
        ZonedDateTime zdt = ZonedDateTime.now(ZoneId.of("Asia/Shanghai"));//2020-04-09T14:32:29.682+08:00[Asia/Shanghai]
        OffsetDateTime offsetDateTime = Instant.now().atOffset(ZoneOffset.ofHours(8));//2020-04-09T14:32:29.682+08:00	
        
2.获取时间戳:
		 Instant instan1 = Instant.now();
         Instant instan2= ldt.toInstant(ZoneOffset.ofHours(8));//LocalDateTime 转时间戳要指定时区
         Instant instan3 = zdt.toInstant();
		 instan1.getEpochSecond();//秒
		 instan1.toEpochMilli();//毫秒
		 Instant startInstant = Instant.ofEpochMilli(Long.parseLong("时间戳字符串"));

3.格式化时间:       
        DateTimeFormatter dtf= DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
       
        String operatorTime = ldt.format(dtf);
         //ZonedDateTime 转换为时间戳-转换为OffsetDateTime-格式化
  		String operatorTime2 = zdt.toInstant().atOffset(ZoneOffset.ofHours(8)).format(dtf);
  
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME;
        LocalDateTime localDate = LocalDateTime.parse("2019-11-27T18:11:15.911+08:00", dateTimeFormatter);//+08:00 无效 以标准格式格式化时间 为2019-11-27T18:11:15.911
        System.out.println("========"+localDate);
        
		DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
		//按yyyy-MM-dd HH:mm:ss格式格式化时间,格式化为 带时区的时间
		OffsetDateTime parse = LocalDateTime.parse("2019-11-27 18:11:15", dateTimeFormatter2)
		    .toInstant(ZoneOffset.ofHours(8)).atOffset(ZoneOffset.ofHours(8));//2019-11-27T18:11:15+08:00
        Instant instan = localDate.toInstant(ZoneOffset.ofHours(8));//LocalDateTime 转时间戳要指定时区
        System.out.println(instan);// 2019-11-27T10:11:15.911Z
        
        java.util.Date date = Date.from(instan);//转换为旧时间
        System.out.println(date);//Wed Nov 27 18:11:15 CST 2019
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String result = sdf.format(date);//2019-11-27 18:11:15
  
  		String time = "1994-11-24 07:11:24";   
        Date date = sdf.parse(time);
        
        //date tostring 之后转换方法
  		SimpleDateFormat frm = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 		try {
            parse = frm.parse("Fri Apr 24 16:25:33 CST 2020");
        } catch (ParseException e) {
            e.printStackTrace();
        }
         String result = sdf.format(parse);//2019-11-27 18:11:15




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值