Не удалось преобразовать формат даты String BST в UTC в JavaScript - PullRequest
0 голосов
/ 08 октября 2019

У меня есть строка типа 07-Oct-2019 11:02 в формате BST. Мне нужно преобразовать в UTC время в том же формате, который будет 07-Oct-2019 10:02.

Я пробовал много способов и пытался найти какую-то встроенную функциюно ничего не получалось. Я попытался написать функцию, которая будет разбивать строку и затем преобразовывать ее в дату, а затем в UTC, но это также не сработало.

Это то, что я пытался

var fullDate = "07-Oct-2019 11:02";
            fullDate = fullDate.split(' ');

            var date = fullDate[0].split("-");
            var time = fullDate[1];

            var newDate = date[0] + '-' + date[1] + '-' + date[2] + ' ' + time;
            var k = new Date(newDate);


            alert(d);

Но этот результатв текущую дату в IST.

Пожалуйста, помогите, как я могу это сделать.

Я использую каркас DOJO.

Ответы [ 2 ]

1 голос
/ 08 октября 2019

Используйте момент-часовой пояс для выполнения расширенных операций с датой и часовым поясом.

Решение:

let date = "07-Oct-2019 11:02"

console.log(
moment.tz(date, "DD-MMM-YYYY HH:mm", "Europe/London").utc().format("DD-MMM-YYYY HH:mm")
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.16/moment-timezone-with-data.min.js"></script>
0 голосов
/ 08 октября 2019

        var date = "07-Oct-2019 11:02";

        var a = date.split("-");
        var b = a[2].split(" ");
        var dateFormat = a[0] + ' - ' + a[1] + ' - ' + b[0] + ' ' + b[1];
        var convertedDate = new Date(dateFormat);

        weekdayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
        monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];

        var dateString = convertedDate.getDate() + "-" + monthNames[convertedDate.getMonth()] + "-" + convertedDate.getFullYear() +" "+ convertedDate.getHours() + ":" + ("00" + convertedDate.getMinutes()).slice(-2);

        console.log(dateString);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...