在 Kotlin 中将日期和时间转换为 Iso 8601
我的应用程序中有一个选择器,可以选择年、月、日、小时和分钟。 更改每个值后,我有一些如下所示的数字:
2022 -> for year
3 -> for month
20 -> for day
16 -> hour
58 -> minute
How can I conversion those values to Iso 8601 date format?
我需要这样的格式:“2022-03-20T16:58:00.288Z”
I have a picker in my app that I can select the Year, Month, Day, Hour, and minute.
After changing each of them I have some numbers like this:
2022 -> for year
3 -> for month
20 -> for day
16 -> hour
58 -> minute
How can I convert these values to Iso 8601 date format?
I need like this format: "2022-03-20T16:58:00.288Z"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
切勿使用
Calendar
、SimpleDateFormat
、TimeZone
或其他旧版日期时间类。使用 java.time 类
ZoneOffset.UTC 的
OffsetDateTime
- 表示当前时间是 UTC 时区(LocalDate 没有任何时区信息),可以更改为系统默认值 (OffsetDateTime.now().offset
) 或自定义区域偏移 (ZoneOffset.of("+02:00")
)转换为 ISO 格式
输出: 2022-01-03T11:36:00Z
注意: java.time 类或 Java8 仅适用于 Android 8 和如上所述,要在较低版本中使用这些类,您需要启用脱糖 - 启用脱糖
Never use
Calendar
,SimpleDateFormat
,TimeZone
, or the other legacy date-time classes.Use
OffsetDateTime
of java.time classesZoneOffset.UTC
- impleis that current time is of UTC time zone (LocalDate doesn't have any timezone information), can change to system default (OffsetDateTime.now().offset
) or custom Zone offset (ZoneOffset.of("+02:00")
)Convert to ISO Format
Output : 2022-01-03T11:36:00Z
Note: java.time classes or Java8 only works in Android 8 and above, to use these classes for lower version you need to enable desugaring - Enable Desugaring
尝试使用以下代码:
Try with this code: