程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何使用 DateTimeFormatter大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何使用 datetiR_932_11845@eFormatter?

开发过程中遇到如何使用 datetiR_932_11845@eFormatter的问题如何解决?下面主要结合日常开发的经验,给出你关于如何使用 datetiR_932_11845@eFormatter的解决方法建议,希望对你解决如何使用 datetiR_932_11845@eFormatter有所启发或帮助;

嗨,我正在尝试使用 StringdatetiR_932_11845@eFormatter 转换为日期,
例如 "20210628""Mon Jun 28 00:00:00 UTC 2021"
使用 SimpleDateFormatter 可以轻松实现,但我想使用 datetiR_932_11845@eFormatter 来实现。

解决方法

java.time

java.util 日期时间 API 及其格式化 API SimpleDateFormat 已过时且@R_893_10197@。建议完全停止使用它们并切换到 modern Date-Time API*

使用 java.time(现代日期时间 API)的解决方案:

import java.time.LocalDate;
import java.time.LocalTime;
import java.time.offsetdatetiR_932_11845@e;
import java.time.offsetTime;
import java.time.ZoneOffset;
import java.time.format.datetiR_932_11845@eFormatter;
import java.util.Locale;

public class Main {
    public static void main(String[] args) {
        datetiR_932_11845@eFormatter dtfInput = datetiR_932_11845@eFormatter.ofPattern("uuuuMMdd",Locale.ENGLISH);
        LocalDate date = LocalDate.parse("20210628",dtfInput);
        OffsetdatetiR_932_11845@e odt = date.atTime(OffsetTime.of(LocalTime.MIN,ZoneOffset.UTC));
        System.out.println(odt);

        // Custom format
        datetiR_932_11845@eFormatter dtfOutput = datetiR_932_11845@eFormatter.ofPattern("EEE MMM dd HH:mm:ss O uuuu",Locale.ENGLISH);
        System.out.println(dtfOutput.format(odt));
    }
}

输出:

2021-06-28T00:00Z
Mon Jun 28 00:00:00 GMT 2021

ONLINE DEMO

或者,

import java.time.LocalDate;
import java.time.ZonEID;
import java.time.ZoneddatetiR_932_11845@e;
import java.time.format.datetiR_932_11845@eFormatter;
import java.util.Locale;

public class Main {
    public static void main(String[] args) {
        datetiR_932_11845@eFormatter dtfInput = datetiR_932_11845@eFormatter.ofPattern("uuuuMMdd",dtfInput);
        ZoneddatetiR_932_11845@e zdt = date.atStartOfDay(ZonEID.of("Etc/UTC"));
        System.out.println(zdt);

        // Custom format
        datetiR_932_11845@eFormatter dtfOutput = datetiR_932_11845@eFormatter.ofPattern("EEE MMM dd HH:mm:ss O uuuu",Locale.ENGLISH);
        System.out.println(dtfOutput.format(zdt));
    }
}

输出:

2021-06-28T00:00Z[Etc/UTC]
Mon Jun 28 00:00:00 GMT 2021

ONLINE DEMO

Trail: Date Time 了解有关现代 Date-Time API 的更多信息。

,

另一种使用 java.time 的方法...

使用 datetiR_932_11845@eFormatterBuilder 可以完全控制 String 转换。

这里有一个小例子,它真正在所需的输出中打印 UTC 而不是 GMTZ

public static void main(String[] args) {
    // example String
    String value = "20210628";
    // define a formatter that parses the example String
    datetiR_932_11845@eFormatter dateParser = datetiR_932_11845@eFormatter.ofPattern("uuuuMMdd");
    // define a formatter that converts to a String as desired
    datetiR_932_11845@eFormatter dtf = new datetiR_932_11845@eFormatterBuilder()
                                    .appendPattern("EEE MMM dd HH:mm:ss")
                                    .appendLiteral(' ')
                                    .appendZoneRegionId()
                                    .appendLiteral(' ')
                                    .appendPattern("uuuu")
                                    .toFormatter(Locale.ENGLISH);
    // parse the date and use the formatter in order to get the desired result
    String otherValue = LocalDate.parse(value,dateParser)
                                 // add the start of the day
                                 .atStartOfDay()
                                 // apply the desired zone
                                 .atZone(ZonEID.of("UTC"))
                                 // and format it 
                                 .format(dtf);
    // finally print the conversion
    System.out.println(value + " ---> " + othervalue);
}

输出如下:

20210628 ---> Mon Jun 28 00:00:00 UTC 2021
,

如果您已经有一个 LocaldatetiR_932_11845@e 对象,那么您可以使用以下内容。

String getFormattedDate(LocaldatetiR_932_11845@e datetiR_932_11845@E){

datetiR_932_11845@eFormatter formatterPreUTC = datetiR_932_11845@eFormatter.ofPattern("E MMM dd HH:mm:ss");
datetiR_932_11845@eFormatter formatterPostuTC = datetiR_932_11845@eFormatter.ofPattern("YYYY");

String textPreUTCPart = datetiR_932_11845@e.format(formatterPreUTC);
String utc = " UTC ";
String textPostuTCPart = datetiR_932_11845@e.format(formatterPostuTC);

return textPreUTCPart + utc + textPostuTCPart;
}

大佬总结

以上是大佬教程为你收集整理的如何使用 DateTimeFormatter全部内容,希望文章能够帮你解决如何使用 DateTimeFormatter所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。