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

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

时间:2024-04-03 18:01:06浏览次数: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/18113254

相关文章

  • 如何使用Docker中构建Java jar包,并且实现开启自启
    Docker中构建JavaJAR包要在Docker容器中构建Java应用程序的JAR包,你可以遵循以下步骤:创建一个Dockerfile:在你的项目根目录下创建一个名为Dockerfile的文件,用来定义Docker镜像的构建过程。#使用官方的Java11镜像作为基础镜像FROMopenjdk:11#设置工作目录WORK......
  • 在 Java 中对List进行分区
    1.概述在本文中,我们将说明如何将一个列表拆分为多个给定大小的子列表。对于这个相对简单的操作,标准Java集合API竟然不支持它。幸运的是,Guava和Apache-Commons都提供了对应的API。2.使用Guava对List进行分区Guava通过Lists.partition操作将List划分为指定......
  • zookeeper监听集群节点的实现zkclient组件实现方案(Java版)
    ZooKeeperWatcher机制client向zookeeper注册监听client注册的同时会存储一个WatchManager对象向zookeeper发生改变则notificationclient并发送一个WatchManager对象,然后client再更新该对象packagecom.jacky.zk.demo;importorg.I0Itec.zkclient.IZkChildListen......
  • java 企业工程管理系统软件源码+Spring Cloud + Spring Boot +二次开发+ 可定制化
    工程项目管理软件是现代项目管理中不可或缺的工具,它能够帮助项目团队更高效地组织和协调工作。本文将介绍一款功能强大的工程项目管理软件,该软件采用先进的Vue、Uniapp、Layui等技术框架,涵盖了项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营等全过程。通过该......
  • java 读取excel文件
    POI-Excel写1、首先可以创建一个普通的maven项目<!--导入poi依赖,对excel2003的支持依赖(xls)--><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>5.0.0</version></dependency><......
  • JavaScript变量对象详解
    正文在JavaScript中,变量对象是执行上下文中的一个重要概念,它负责存储函数中的变量、函数声明和形参。了解变量对象对于理解JavaScript的作用域、作用域链以及变量的声明和提升至关重要。1.变量对象的定义变量对象是在执行上下文创建阶段被创建的,用于存储该上下文中的变......
  • 《Java 热点:探索高效编程的新境界》
    前言在当今的数字时代,Java作为一种广泛使用的编程语言,一直处于技术领域的前沿。它的强大功能和广泛应用使得它成为了众多开发者的首选。本文将深入探讨一些最新的Java热点话题,带您领略Java编程的魅力和高效性。一、Java的发展与优势Java具有以下显著优势:跨平台性......
  • java 将文件夹进行压缩,按指定大小进行分卷压缩
    使用方法:SplitZipsplitZip=newSplitZip();splitZip.start(file.getPath(),file.getPath());packageext.xxx.util;importjava.io.*;importjava.util.zip.*;importstaticorg.apache.commons.lang3.StringUtils.isBlank;/***分卷压缩工具*/publicclassSp......
  • Java开发工具:IDEA
    学习,开发编程都离不开开发工具,常见之一的开发工具IDEA:一般学习使用的话使用免费的社区版本就够用了;https://www.jetbrains.com.cn/idea/download/download-thanks.html?platform=windows&code=IIC下载下来傻瓜式点点点安装就好了,使用开发工具让让我们在学习和开发的时候更好,......
  • C#-JavaScript-base64加密解码
    C#//base64加密//调用方式:Helper.EncodeToBase64(需要加密字符串)publicstaticstringEncodeToBase64(stringdata){byte[]byteData=Encoding.UTF8.GetBytes(data);returnConvert.ToBase64String(byteData);......