我在使用 java 8 和 spring 4 编写的网站上工作,我们使用的是 java 8 标准时间 api,现在页面上总是显示服务器时间(在用户配置文件中显示他的注册日期)。使用旧的 java time api 可以使用 SimpleDateFormat,但现在不适合。有没有办法在jsp页面或控制器中将服务器时间转换为客户端时间?
问问题
433 次
1 回答
2
处理此问题的一种方法是在请求中获取用户时区字符串(GMT、IST 等)(使用AJAX 或其他相关技术。)
现在通过使用新的 Java 8 Local date API,我们可以实现如下:
第 1 步:使用 Java 8 ZoneId类从提供我们从 ajax 获得的区域查询参数中获取区域。:
ZoneId losAngeles = ZoneId.of("America/Los_Angeles");
第 2 步:使用LocalTime API根据该时区获取当前时间,如下所示:
ZoneId losAngeles = ZoneId.of("America/Los_Angeles");
LocalDateTime currentTimeInLosAngeles = LocalTime.now(losAngeles );
第 3 步:使用 Java 8 ZonedDateTime类获取特定区域的 DATETIME
ZoneId losAngeles = ZoneId.of("America/Los_Angeles");
LocalDateTime currentTimeInLosAngeles = LocalTime.now(losAngeles );
ZonedDateTime losAngelsDateTime = ZonedDateTime.of(currentTimeInLosAngeles , losAngeles );
于 2014-08-08T11:51:23.823 回答