我正在尝试从现有日期获取时区以将其用于其他日期转换。有人可以回复更新以下代码中的待办事项。感谢任何帮助。
或者只是为了简单起见,是否有一些我给 +0530 的 java api,它返回 IST :)
这是我的代码:
import java.text.SimpleDateFormat
import java.util.*;
import java.text.DateFormat;
SimpleDateFormat isoFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
Date date = isoFormat.parse("2016-04-21T00:00:00+0530");
//todo print time zone
//todo here should print IST since date is having +0530
Run Code Online (Sandbox Code Playgroud)
Ajava.util.Date没有时区。这是 UTC 中的纯时间。解析器将字符串转换为内部值。
A java.time.ZonedDateTime(Java 8+) 确实有时区。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ssZ");
ZonedDateTime dt = ZonedDateTime.parse("2016-04-21T00:00:00+0530", formatter);
ZoneId zone = dt.getZone();
Run Code Online (Sandbox Code Playgroud)
如果运行 Java 6 或 7,请使用Java SE 8 日期时间类的向后移植。
对于 Java 5+,请使用Joda-Time 库。
| 归档时间: |
|
| 查看次数: |
9886 次 |
| 最近记录: |