我喜欢在JSTL中格式化我的DateTime并提供timeZone。但它并不完美。我提出了很多建议,但没能达到目标。我试过的是
<fmt:formatDate value="${timeSlot.getStartTime()}"
pattern="HH:mm" timeZone="UTC-6" var="startTime" />编辑:-
value="08:41:00“用于timeSlot.getStartTime()
任何帮助或建议。
更新:
在使用input type="time"之后,它给了我这样的感觉

发布于 2018-04-13 11:24:23
经过SO Q&A的调查和建议,我以另一种方式解决了timezone问题。让我分享一下我所做的。
HttpServletRequest。这个本地TimeZone偏移值是用javascript计算的。js用于获取本地时区偏移值的代码。
var offset = new Date().getTimezoneOffset();
var timeZone = offset / -60;TimeZone Offset中获取的数据的database。Java代码
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格式。
https://stackoverflow.com/questions/49793075
复制相似问题