gpt4 book ai didi

java - Android DateTimeFormatter withZone 不工作

转载 作者:太空狗 更新时间:2023-10-29 13:12:02 25 4
gpt4 key购买 nike

我正在格式化一个 UTC 日期,我希望它以本地时间显示。但是,使用 withZone(ZoneId.systemDefault()); 什么都不做。这是一些代码,dd2 的值相同,但我希望 d2 早 6 小时,因为我在 MST。

    public static final String DATE_TIME_PATTERN = "uuuuMMddHHmmss";

String date = "20160908222020";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DATE_TIME_PATTERN).withZone(ZoneId.systemDefault());
LocalDateTime d = LocalDateTime.parse(date, formatter);
DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern(DATE_TIME_PATTERN);
LocalDateTime d2 = LocalDateTime.parse(date, formatter2);

最佳答案

使用 SimpleDateFormat,更容易理解正在发生的事情(这种方法对我有用)。

public static final String SOURCE_DATE_FORMAT = "yyyyMMddHHmmss";
String date = "20160908222020";

SimpleDateFormat sourceDateFormat = new SimpleDateFormat(SOURCE_DATE_FORMAT);
sourceDateFormat.setTimeZone("UTC"); // set this to whatever the source time zone is

String adjustedDate = "";
try {
Date parsedDate = sourceDateFormat.parse(date);
adjustedDate = DateFormat.getDateTimeInstance().format(parsedDate); // getDateTimeInstance() returns the local date/time format (in terms of language/locale and time zone) of the device and format() formats the parsed date to fit that instance
} catch (ParseException e) {
e.printStackTrace();
}

关于java - Android DateTimeFormatter withZone 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39452990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com