我已经在Spring MVC上工作了一段时间并遇到了这个问题
我使用以下代码将应用程序时区设置为New_York:
public class ApplicationListenerBean implements ApplicationListener {
@Override
public void onApplicationEvent(ApplicationEvent event) {
if (event instanceof ContextRefreshedEvent) {
TimeZone.setDefault(TimeZone.getTimeZone("America/New_York"));
System.out.println("Eastern time zone");
}
}
}
接下来,我正在提交表格并使用以下代码阅读:
@RequestMapping("/saveschedule")
@ResponseBody
public String saveSchedule(
@ModelAttribute CommonSchedule schedule, ModelMap map, HttpServletRequest request) {
System.out.println(">>>>>>>>>>>>>>>> " + schedule.getSendingTime());
System.out.println(new Date());
}
如果我选择时间,15:30:00,我得到了输出 我得到了以下输出:
>>>>>>>>>>>>>>>> Thu Jan 01 05:30:00 EST 1970
Mon Aug 26 06:20:01 EDT 2013
我想知道,为什么春季mvc表单提交获得EST,而我的应用程序是EDT
答案 0 :(得分:0)
我想知道,为什么春季mvc表单提交获得EST,而我的应用程序是EDT
您正在使用America/New_York
时区,该时区会在EST和EDT之间切换,因为夏令时会发生变化。
当您使用没有约会的时间时,您暗示1/1/1970
的日期 - 当时America/New_York
在EST中的日期。
您应该将时间应用于特定日期,以便在该时间内使用正确的偏移量。