Java中字符串转时间与时间转字符串的操作详解

2025-05-14 06:54:28 130
魁首哥

一、字符串转时间

在 java 中,可以使用java.time包中的datetimeformatter类将字符串格式的日期时间转换为localdatetimezoneddatetime对象。

(一)使用预定义格式

import java.time.localdatetime;
import java.time.format.datetimeformatter;

public class stringtodateexample {
    public static void main(string[] args) {
        string isodatetime = "2023-10-11t12:34:56";
        datetimeformatter formatter = datetimeformatter.iso_date_time;
        localdatetime datetime = localdatetime.parse(isodatetime, formatter);
        system.out.println("解析后的日期时间: " + datetime);
    }
}

(二)自定义格式

import java.time.localdatetime;
import java.time.format.datetimeformatter;

public class customstringtodateexample {
    public static void main(string[] args) {
        string customdatetime = "2023-10-11 12:34:56";
        datetimeformatter formatter = datetimeformatter.ofpattern("yyyy-mm-dd hh:mm:ss");
        localdatetime datetime = localdatetime.parse(customdatetime, formatter);
        system.out.println("解析后的日期时间: " + datetime);
    }
}

二、时间转字符串

将日期时间对象格式化为字符串,可以使用datetimeformatter类。

(一)使用预定义格式

import java.time.localdatetime;
import java.time.format.datetimeformatter;

public class datetostringexample {
    public static void main(string[] args) {
        localdatetime now = localdatetime.now();
        datetimeformatter formatter = datetimeformatter.iso_date_time;
        string formatteddate = now.format(formatter);
        system.out.println("iso格式日期时间: " + formatteddate);
    }
}

(二)自定义格式

import java.time.localdatetime;
import java.time.format.datetimeformatter;

public class customdatetostringexample {
    public static void main(string[] args) {
        localdatetime now = localdatetime.now();
        datetimeformatter formatter = datetimeformatter.ofpattern("yyyy-mm-dd hh:mm:ss");
        string formatteddate = now.format(formatter);
        system.out.println("自定义格式日期时间: " + formatteddate);
    }
}

三、处理不同时区的日期

在处理不同时区的日期时,可以使用zoneddatetime类。

(一)字符串转带时区的日期时间

import java.time.zoneddatetime;
import java.time.format.datetimeformatter;

public class stringtozoneddatetimeexample {
    public static void main(string[] args) {
        string zoneddatetimestring = "2023-10-11t12:34:56-04:00";
        datetimeformatter formatter = datetimeformatter.iso_zoned_date_time;
        zoneddatetime zoneddatetime = zoneddatetime.parse(zoneddatetimestring, formatter);
        system.out.println("解析后的带时区日期时间: " + zoneddatetime);
    }
}

(二)带时区的日期时间转字符串

import java.time.zoneddatetime;
import java.time.format.datetimeformatter;

public class zoneddatetimetostringexample {
    public static void main(string[] args) {
        zoneddatetime now = zoneddatetime.now();
        datetimeformatter formatter = datetimeformatter.ofpattern("yyyy-mm-dd hh:mm:ss z");
        string formatteddate = now.format(formatter);
        system.out.println("带时区的日期时间字符串: " + formatteddate);
    }
}

四、总结

java 的java.time包提供了强大的日期和时间处理功能,通过datetimeformatter可以轻松地在日期时间对象和字符串之间进行转换。

到此这篇关于java中字符串转时间与时间转字符串的操作详解的文章就介绍到这了,更多相关java字符串与时间互转内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

分享
海报
130
上一篇:Java集成邮箱验证找回密码功能全过程 下一篇:深入解析SpringBoot中#{}和${}的使用

忘记密码?

图形验证码