簡體   English   中英

無法在 javascript 中將字符串 BST 日期格式轉換為 UTC

[英]Not able to convert String BST date format to UTC in javascript

我有一個 BST 格式的字符串,例如07-Oct-2019 11:02 。我必須以相同的格式轉換為 UTC 時間,即07-Oct-2019 10:02

我嘗試了很多方法並試圖找到一些內置的 function 但沒有任何效果。 我試圖編寫一個 function 它將拆分字符串,然后將其轉換為日期,然后轉換為 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 框架。

使用moment-timezone對日期和時區進行高級操作。

解決方案:

 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>

 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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM