首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JSTL以自定义UTC格式格式化DateTime

使用JSTL以自定义UTC格式格式化DateTime
EN

Stack Overflow用户
提问于 2018-04-12 09:35:42
回答 1查看 217关注 0票数 0

我喜欢在JSTL中格式化我的DateTime并提供timeZone。但它并不完美。我提出了很多建议,但没能达到目标。我试过的是

代码语言:javascript
复制
<fmt:formatDate value="${timeSlot.getStartTime()}" 
pattern="HH:mm" timeZone="UTC-6" var="startTime" />

编辑:-

value="08:41:00“用于timeSlot.getStartTime()

任何帮助或建议。

更新:

在使用input type="time"之后,它给了我这样的感觉

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-13 11:24:23

经过SO Q&A的调查和建议,我以另一种方式解决了timezone问题。让我分享一下我所做的。

  • 当我请求页面时,我还将本地TimeZone偏移量值绑定到HttpServletRequest。这个本地TimeZone偏移值是用javascript计算的。

js用于获取本地时区偏移值的代码。

代码语言:javascript
复制
var offset = new Date().getTimezoneOffset();
var timeZone = offset / -60;
  • 而不是我刚刚添加了从TimeZone Offset中获取的数据的database

Java代码

代码语言:javascript
复制
String timeZoneValue = request.getParameter("timeZone");
timeZoneValue = Long.valueOf(timeZone).longValue(); // convert string to long value.
// get the calendar instances
Calendar cal = Calendar.getInstance();
cal.setTime(time); // set the time which get from DB
cal.add(Calendar.MINUTE, timeZoneValue.intValue() * 60); // added the timezone offset.
// formatting  the time
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm");  
parseTime = simpleDateFormat.format(cal.getTime()); 
Date newDate = simpleDateFormat.parse(parseTime);

这个机制非常适合我。谢谢。

注:在数据库中时,我总是节省时间作为UTC格式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49793075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档