java - 如何将带时区的时间 (2019-01-31T05:20:18.728+02:00) 转换为时间
问题描述
我尝试将带时区的时间转换为时间但未能成功,请您帮忙提供建议吗?
时区时间:2019-01-31T05:20:18.728+02:00 (您可能注意到,时间结束时有一个偏移量 +02:00。而不是 05:20:18.728+02:00,我想打印出 07:20:18 这意味着 05:20:18 + 时间偏移)。
演出所需时间:07:20:18
...
LocalDateTime ldt = LocalDateTime.now(); //my local time is set to GMT
ZoneOffset offset1 = ZoneOffset.ofHours( (offset%24) );
OffsetDateTime odt = ldt.atOffset( offset1);
System.out.println(odt);
...
我的问题已更新。
非常感谢,常春藤
解决方案
您可以使用 Java-8DateTimeFormatter
类来格式化LocalTime
实例以仅获取时间部分。
public static void main(String[] args) {
LocalTime localTime = LocalTime.now(ZoneId.of("GMT"));
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HH:mm:ss");
System.out.println(localTime.format(dtf));
//From an ISO date string
LocalTime parseTime = LocalTime.from(DateTimeFormatter.ISO_OFFSET_DATE_TIME.parse( "2019-01-31T05:20:18.728+02:00"));
System.out.println(parseTime.format(dtf));
}
输出:
05:47:57
05:20:72
推荐阅读
- php - 使用 HTMLpurifier 过滤 img 标签的 URL
- android - 图像是手动设计的吗?
- sas - 将 Looker 连接到 SAS
- c# - 如果不同的属性与不同列表中的值匹配,则为列表中的每个对象设置属性
- mysql - 从 Symfony Docker 容器到 MariaDB 容器的 Doctrine Connection 被拒绝
- c - 产生任意数量的子进程?
- mysql - 恢复类 mySQL 服务器的密码
- shell - sed 命令不会替换我想要的模式?
- php - 每次我想在 Laravel 的模型中访问 hasMany 集合时,都会出现 ERR_CONNECTION_RESET
- python - Pandas 中的 groupby 语句中的两列相乘