我有一个带有时区的日期时间字符串,例如“ 2019-05-21 04:49:39.000Z”。我如何不使用拆分方法从此字符串拆分日期。我必须使用时区格式化程序。任何人都可以帮助我。
答案 0 :(得分:2)
公共静态字符串getDateTime(String created_on){
SimpleDateFormat inFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
SimpleDateFormat outFormat = new SimpleDateFormat("dd MMM yyyy hh:mm aa");
try {
inFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date value = inFormat.parse(created_on);
outFormat.setTimeZone(TimeZone.getDefault());
created_on = outFormat.format(value);
} catch (ParseException e) {
e.printStackTrace();
}
return created_on;
}
使用此功能。它将帮助您获取日期和时间
答案 1 :(得分:1)
使用一些库将String解析为OffsetDateTime, 从parsedDateTime变量获取时间的任何部分后(小时,分钟...) 在Kotlin中(最低API 26):
val parsedDateTime = OffsetDateTime
.parse("2019-05-21 04:49:39.000Z", DateTimeFormatter.ISO_DATE_TIME)
val time = "${parsedDateTime.hour} : ${parsedDateTime.minute}"
查看此链接以获取更多示例:examples
https://grokonez.com/kotlin/kotlin-convert-string-datetime
更新:
作为Ole V.V.注释中提到的-如果您尚未达到API级别26,则可以将ThreeTenABP 添加到您的Android项目中,然后从那里导入OffsetDateTime(并且相同的代码适用于较低的API)。