java – 关于本地和服务器的日期问题
我在我的系统中使用CST时间,从前端到javascript我今天发送日期到spring控制器.在Spring控制器中通过请求参数我得到了日期并通过@DateTimeFormat注释转换为日期,我得到相同的日期回到视图我得到了我期待的确切日期. 但是,当我通过部署在亚马逊服务器中的测试环境进行测试时.当我通过今天的日期,当我试图获得相同的日期到前端时,它将作为不同的日期.我写了我用过的代码. 使用Javascript:
Java代码:
我本地机器的日期是01-05-2015 23:17 在我的测试环境中,我使用相同的代码,但控制台正如下面那样引用 任何人都可以指出这个问题并告诉我这个问题的根本原因. 最佳答案
时间只有HH:MM:SS就是这样.除非您隐式设置时区,否则Timezone将作为您计算机的默认设置.所以,正如你所看到的,当你只发送时间时,它实际上并不代表什么是实时.
有两种解决方案. 1)最简单.无论你送什么,都把它扔到同一时区.例如UTC.然后,每当你得到它 – 用它作为时间形式UTC.隐.因此,系统的每个部分都知道发送时间是UTC并相应地采取行动.永远不要将其保留为默认值谁知道你的一台电脑在哪里(什么时区). 2)类似但参数更多.发送2个参数 – 时间和时区.工作方式相同 – 你总是需要投入时间(再次,永远不要使用默认值) – 但是,至少,你知道发送方的实时时间,在这种情况下,你会看到你的测试计算机时区是什么. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |