android - 在Android中使用区域ID时将日期字符串解析为时区不起作用?
问题描述
我正在尝试将以下 UTC 字符串解析为中央时区的日期。
date = "2019-11-18T16:00:00.000Z"
此代码起作用并将日期字符串解析为应用了时区的日期对象:
private fun getTimeZoneDate(date: String): Date {
val parser = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
parser.timeZone = TimeZone.getTimeZone("CST")
return parser.parse(date)
}
但是,我需要使用区域 ID,因为它是我的 API 返回的内容。这不起作用:
private fun getTimeZoneDate(date: String): Date {
val parser = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
parser.timeZone = TimeZone.getTimeZone("America/Chicago")
return parser.parse(date)
}
有什么不同?为什么第二块代码不对字符串日期做任何事情,但第一块(时区设置为“CST”)工作?
解决方案
推荐阅读
- php - 将 html 的值传递给 PHP 变量
- javascript - 如何使用事件侦听器从输入中获取日期值?
- python - 如何单击热键并在python中打开特定的url?
- css - 在 http 和 https 页面中使用的 css 文件中使用 fonts.googleapis.com 的最佳方法是什么?
- php - 如何在laravel中将数组转换为字符串?
- jquery - 如何在 JQuery 应用程序中捕获 Shift + F8?
- r - 由于共享库中的错误,自定义 XGBoost 的安装失败
- python - Python:调用 self 函数无法正常工作
- javascript - 如何从 JSON 值中选择数据
- fortran - 时间相关薛定谔方程酷儿解