Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 春季MVC夏令时问题_Java_Spring_Timezone_Dst - Fatal编程技术网

Java 春季MVC夏令时问题

Java 春季MVC夏令时问题,java,spring,timezone,dst,Java,Spring,Timezone,Dst,我在SpringMVC上工作了很长时间,遇到了这个问题 我使用以下代码将应用程序时区设置为纽约: public class ApplicationListenerBean implements ApplicationListener { @Override public void onApplicationEvent(ApplicationEvent event) { if (event instanceof ContextRefreshedEvent) {

我在SpringMVC上工作了很长时间,遇到了这个问题

我使用以下代码将应用程序时区设置为纽约:

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
我想知道,为什么我的申请是EDT,而SpringMVC表单提交却得到了EST

我想知道,为什么我的申请是EDT,而SpringMVC表单提交却得到了EST

您使用的是
美国/纽约
时区,当夏令时发生变化时,该时区在美国东部时间和美国东部时间之间交替

当你使用一个没有日期的时间时,你意味着日期是
1/1/1970
——对于
America/New_York
,这是当时的EST

相反,您应该将时间应用于特定日期,以便它使用该时间的正确偏移量