gpt4 book ai didi

java - Android API 级别 23 中的 ISO 8601 问题

转载 作者:行者123 更新时间:2023-11-29 18:32:44 25 4
gpt4 key购买 nike

我在 ISO 8601 的 java 格式中遇到问题,我正在使用此代码

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
//yyyy-MM-dd'T'HH:mm:ss.shh:mm
Date date = Calendar.getInstance().getTime();
String cDate = format.format(date);
Log.d("Date","Date is " + cDate);

我的结果是:

Date is 2019-04-03T04:37:52+0000

如果我使用这种格式 yyyy-MM-dd'T'HH:mm:ssZ。结果是:

Date is 2019-04-03T04:49:33.3304:49

如果我使用这种格式 yyyy-MM-dd'T'HH:mm:ss.shh:mm。我已经尝试过我的解决方案,但没有给我想要的解决方案。我想要的解决方案是 2008-09-15T15:53:00+05:00。我尝试了 Offset,但它不适用于 API 级别 23,它仅适用于 API 级别 28。

最佳答案

这是您应该使用的格式掩码:

yyyy-MM-dd'T'HH:mm:ssXXX

来自documentation对于 SimpleDateFormat,我们可以看到 X 代表 ISO 8601 时区,它以从 GMT 偏移的小时数显示时区。

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
format.setTimeZone(TimeZone.getTimeZone("Africa/Cairo"));
Date date = Calendar.getInstance().getTime();
String cDate = format.format(date);
System.out.println("Date is " + cDate);

Date is 2019-04-03T06:41:30+02:00

请注意,我需要分配 GMT 以外的时区,因为 GMT 仅返回时区的 Z

关于java - Android API 级别 23 中的 ISO 8601 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55487358/

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