gpt4 book ai didi

java - 格式化时区指示符

转载 作者:行者123 更新时间:2023-12-02 01:41:58 26 4
gpt4 key购买 nike

需要使用特定的格式将此字符串 2017-08-01T15:43:45+0530 格式化为 2017-08-01T15:43:45+05:30日期格式。尝试使用yyyy-MM-dd'T'HH:mm:ssZZ。没有工作..

Date modified = aemPage.getProperties().get(cq:lastModified, Date.class);
private DateFormat seoDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZ");

String formattedDate = seoDateFormat.format(modified));

最佳答案

您需要三个 X 才能像这样

Sign TwoDigitHours : Minutes

我建议使用OffsetDateTime如果您使用的是 java8 或更高版本:

String input = "2017-08-01T15:43:45+0530";

DateTimeFormatter parser = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ");

OffsetDateTime offsetDateTime = OffsetDateTime.parse(input, parser);

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX");

System.out.println(offsetDateTime.format(formatter)); // 2017-08-01T15:43:45+05:30

2017-08-01T15:43:45+05:30 起为 ISO_OFFSET_DATE_TIME ,您也可以只使用:

String outPut = offsetDateTime.toString();

更新:

如果您想使用SimpleDateFormat,请尝试:

String input = "2017-08-01T15:43:45+0530";

SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");

Date date = parser.parse(input);

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");

System.out.println(formatter.format(date));

但这仅在系统偏移量为 0530 时有效,因为 Date 不包含时区信息。

关于java - 格式化时区指示符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54346432/

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