【问题标题】:Conver Timepicker time to utc using Timepicker (ng-bootstrap)使用 Datepicker (ng-bootstrap) 将 Datepicker 时间转换为 utc
【发布时间】:2019-09-24 10:22:33
【问题描述】:

我在我的 Angular 项目中使用 https://valor-software.com/ngx-bootstrap/#/timepicker

在我向服务器请求之前,我有一项任务要将该时间转换为 UTC。

当我从时间选择器值中选择时间时,如下所示。

现在,我创建了一个函数来使用 moment.js 将其转换为 UTC

static FormatimeSpanBeforeSubmit(date: Date | string ) {

        const dateFromTimePicker = date as Date;


        // Convert it to format "HH:mm:ss"
        let formatedTime = moment.utc(dateFromTimePicker).format('HH:mm:ss');

        // Split details in array because I want seconds as always "00"
        let list = formatedTime.split(/[\s:]+/);

        // Updating last value ""ss" to "00"
        formatedTime = formatedTime.replace(new RegExp(list[list.length -1] + '$'), '00');

        //Final value
        return date ? formatedTime  : null;

    }

预期输出:它应该将我的时间转换为“9:51:00”

电流输出:“10:54:00”

请帮助我并指导我如何获得正确的价值。

评论:

(2) 根据 Hoài Nam 的 cmets,我已经更新了我的代码,如下所示,我仍然得到 10:54:00

请在下面找到两张图片

【问题讨论】:

标签: javascript datetime utc timepicker ngx-bootstrap-modal


【解决方案1】:

我无法发表评论,所以我会在这里回复你: 我在这里找到了另一个解决方案https://stackoverflow.com/a/40381090/9768008

这是我尝试过的:

    var time = 1569326290681; //Tue Sep 24 2019 18:58:10 GMT+0700 (Indochina Time)
    var os = new Date().getTimezoneOffset();
    var converted = new Date((time + (os * 60 * 1000)));
    console.log(converted); // Tue Sep 24 2019 11:58:10 GMT+0700 (Indochina Time)

【讨论】:

    【解决方案2】:

    问题是来自服务器的日期格式错误。所以,我得到的是 GMT+ 6.55 而不是 GMT+ 8。

    感谢您的帮助。 解决了这两种解决方案。我的和@HoàiNam 的都是正确的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-01
      • 2019-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2020-03-21
      相关资源
      最近更新 更多