我正在尝试以ISO 8601格式获取当前日期和时间。下面的代码返回14天后的日期和错误的时间。我需要正确的格式和当前日期来进行API请求。
val formatter = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").apply {
this.timeZone = TimeZone.getTimeZone("CST")
}
val now = Calendar.getInstance(TimeZone.getTimeZone("CST"))
val sendDateUAT = formatter.format(now.time)
Log.d(TAG, "sendDate: $sendDateUAT")
这将返回:2019-08-05T02:53:40Z
编辑:现在为:
java.util.GregorianCalendar[time=1564973620006,areFieldsSet=true,lenient=true,zone=GMT,firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2019,MONTH=7,WEEK_OF_YEAR=32,WEEK_OF_MONTH=2,DAY_OF_MONTH=5,DAY_OF_YEAR=217,DAY_OF_WEEK=2,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=2,HOUR_OF_DAY=2,MINUTE=53,SECOND=40,MILLISECOND=6,ZONE_OFFSET=0,DST_OFFSET=0]
now.time
的结果。 - QThompsonSimpleDateFormat
及其相关类,并在 Android 项目中添加 ThreeTenABP,以使用现代 Java 日期和时间 APIjava.time
。它的使用体验优美无比。 - Ole V.V.MONTH=7
表示八月(呃!),而你的DAY_OF_MONTH=5
。 - Ole V.V.