【问题标题】:Date selection goes to previous day when using momentjs使用momentjs时日期选择转到前一天
【发布时间】:2014-05-29 21:47:04
【问题描述】:

在我的云服务器上保存日期时我头疼。一切都在我的本地机器上正常工作。所有文件都是最新的。

我正在使用 Momentjs。从 jquery 选择器中选择日期时,日期会保存到前一天。

我一直在查看帖子请求和日期呈现为 2014-05-30T23:00:00.000Z 但我从 jquery 选择器中选择的日期是 2014 年 5 月 31 日。

我还注意到,当从服务器检索数据时,它在日期对象上具有 UTC,如下所示:

Date1: Tue May 13 2014 00:00:00 GMT+0000 (UTC),

但是我的本地机器在英国并且有

Date1: Thu May 01 2014 00:00:00 GMT+0100 (BST),

在我的客户端角度代码中,我有以下内容

 $scope.selectedBookingModal.Date1 = moment($scope.selectedBookingModal.Date1).format();

只是想知道如何才能获得正确的显示日期并被保存?

干杯

【问题讨论】:

    标签: javascript jquery sql angularjs date


    【解决方案1】:

    尝试设置.zone()

    $scope.selectedBookingModal.Date1 = moment($scope.selectedBookingModal.Date1)
                                              .zone('100')
                                              .format();
    

    【讨论】:

    • 已经让它在客户端工作了 req 上的服务器结果是 req.booking= 2014-05-03T00:00:00+01:00 但是当我在服务器上进行转换时我得到以下日期使用 moment(booking.Date1).format('YYYY-MM-DD') 给我 2014-05-02
    • 您还需要在那里使用.zone('100').zone() 不会更改数据,它会使用偏移量对其进行格式化。
    • 我需要时刻时区库吗?
    • moment(booking.Date1).zone(booking.Date1).format('YYYY-MM-DD')) 这只是从日期开始使用区域,即+01: 00
    猜你喜欢
    • 2020-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    • 2012-08-16
    • 1970-01-01
    • 2019-01-02
    相关资源
    最近更新 更多