我已经在我的 Angular 4 应用程序上集成了 Mydatepicker,其中我在页面上集成了一个日历,当我选择日期时,调用 REST api,并使用 post 方法发送所选日期的时间戳以从 API 获取结果
我检查了控制台中的日期和时间戳,发现 jsdate 对象返回 selected 的先前日期,以下是我登录日期选择的对象
date: Object { year: 2017, month: 11, day: 25 }
epoc: 1511548200
formatted: "25.11.2017"
jsdate: Date 2017-11-24T18:30:00.000Z
proto: Object { … }
如何纠正这个问题?是否有任何配置来控制它,或者如果它的方式正确,那么我该如何处理这个问题?
最佳答案
我想我已经明白了。这是处理日期的 JavaScript 方式。
格式化日期代表日期选择器上选定的日期,但是您的系统可以有不同的时区设置,因此选定日期的相对日期时间对于 GMT 来说会有所不同,这就是 jsdate 所代表的
jsdate:表示 GMT 的日期时间对象
如果您想获取实际选定的日期,那么您需要使用 getDay 、 getMonth 等生成它,或者您可以使用时区偏移进行调整。
调整时区偏移可能是一个更好的选择,因为它适用于所有系统和时区。
使用 epoc 和 https://www.epochconverter.com/可以检查您的时间与所选日期时间时间戳的 GMT 有多少差异
Mozilla documentation将有助于使用 javascript 日期对象
关于javascript - date 和 jsdate 对象的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47467531/