首页 > 编程语言 >Java代码实现带时区时间字符串转为LocalDateTime对象

Java代码实现带时区时间字符串转为LocalDateTime对象

时间:2024-04-05 11:11:41浏览次数:19  
标签:Java String 带时区 DateTimeFormatter LocalDateTime 字符串 import public

不带时区时间字符串

可以使用Java 8中的DateTimeFormatter类来将字符串转换为LocalDateTime对象。下面是一个示例代码:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class DateTimeConversionExample {
    public static void main(String[] args) {
        String timeString = "2023-05-18T10:59:40";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
        LocalDateTime dateTime = LocalDateTime.parse(timeString, formatter);
        System.out.println(dateTime);
    }
}

在上面的代码中,我们首先定义了一个时间字符串,然后创建了一个DateTimeFormatter对象,该对象定义了时间字符串的格式。接下来,我们使用parse方法将时间字符串转换为LocalDateTime对象,并将其打印到控制台上。

请注意,DateTimeFormatter对象中的时间格式必须与时间字符串的格式完全匹配,否则将会抛出DateTimeParseException异常。

带时区时间字符串

如果要实现带时区时间字符串转为LocalDateTime对象:

import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.time.format.DateTimeFormatter;

public class TimeZoneDateTimeConverter {
    
    public static void main(String[] args) {
        String dateTimeStr = "2023-04-20T20:15:10.000+08:00";
        LocalDateTime localDateTime = convertTimeZoneStringToLocalDateTime(dateTimeStr);
        System.out.println(localDateTime);
    }

    public static LocalDateTime convertTimeZoneStringToLocalDateTime(String timeZoneDateTimeStr) {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
        OffsetDateTime offsetDateTime = OffsetDateTime.parse(timeZoneDateTimeStr, formatter);
        return offsetDateTime.toLocalDateTime();
    }
}

这里我们使用了OffsetDateTime类,它可以认识和处理带时区的时间。我们同时定义了一个日期格式化对象,以确保我们可以解析时区时间字符串,这个格式化对象需要的格式是:"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"

使用本代码示例的Java版本需要在8及以上。

标签:Java,String,带时区,DateTimeFormatter,LocalDateTime,字符串,import,public
From: https://www.cnblogs.com/bigleft/p/18115572

相关文章

  • 动态规划完全背包问题-java
    完全背包问题跟01背包问题思路大致一样,只不过对于物品的拿取次数不在限制,我们只需要考虑这点即可。文章目录前言一、什么是完全背包问题?二、问题模拟1.样例数据2.算法思路三、代码如下1.代码如下(示例):2.读入数3.代码运行结果总结前言完全背包问题跟01背包问......
  • java计算机毕业设计(附源码)影视创作论坛系统(ssm+mysql+maven+LW文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着科技的不断进步和互联网的普及,影视创作行业也在经历着前所未有的变革。传统的影视创作模式已经无法满足现代社会的需求,而新兴的影视创作论坛系统则应......
  • java计算机毕业设计(附源码)影视游戏推广系统(ssm+mysql+maven+LW文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着数字媒体时代的到来,影视和游戏产业迎来了前所未有的发展机遇。影视作品以其生动的叙事和视听效果吸引着全球观众,而游戏则以其互动性和沉浸式体验成为......
  • idea开发 java web 配电室后台管理系统bootstrap框架web结构java编程计算机网页
    一、源码特点 java配电室后台管理系统是一套完善的完整信息系统,结合javaweb开发和bootstrapUI框架完成本系统,对理解JSPjava编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。前段主要技术cssjquery bootstrapUI框架后端主要技术javaj......
  • (Java)数据结构——图(第三节)BFS的实现
    前言本博客是博主用于复习数据结构以及算法的博客,如果疏忽出现错误,还望各位指正。广度优先搜索的原理好了,还是这张图,不过是广度优先搜索不难看出,就是“一层一层”搜这次咱从A开始,因为如果从B开始的话,只需要一次,搜索过程就是B直接搜完,入队ACDE,isVistied全部ture,结束......
  • Java -fastjson api
    构造json对象需求:构造以下请求体{"attrSelectionVO":[{"attrAccessId":"eea99a0894504a2b89f3cfeb4be051d3","attrValueList":[{"attrValue":"输送型","att......
  • Java.lang.OutOfMemoryError: GC overhead limit exceeded
    缘由系统是微服务架构,在服务器上跑了近11个微服务,某天发布更新部署新功能,几分钟后发现系统跑着跑着崩了。。。排查通过对11个微服务运行打印的日志,发现只有基础微服务日志中出现了GCoverheadlimitexceeded报错信息,然后从报GC异常的上一个报错的异常进行定位,发现是因为某......
  • Java项目:基于Springboot+vue实现的医院住院管理系统设计与实现(源码+数据库+开题报告+
    一、项目简介本项目是一套基于Springboot+vue实现的医院住院管理系统设包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。项目都经过严格调试,eclipse或者idea确保可以运行!该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值......
  • 【附源码】计算机毕业设计智慧社区团购系统的设计(java+springboot+mysql+mybatis+论文
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义随着互联网技术的发展和普及,社区团购作为一种新兴的电商模式,正逐渐改变着人们的购物习惯。然而,传统的社区团购系统存在着一些问题,如信息不透明、效率低下、用户体......
  • 【附源码】计算机毕业设计游戏分享网站(java+springboot+mysql+mybatis+论文)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义随着互联网技术的发展,游戏行业正逐渐向数字化、网络化方向发展。越来越多的游戏玩家开始通过网络分享自己的游戏心得、攻略和视频等内容,形成了一个庞大的游戏分享......