无法在 javascript 中将字符串 BST 日期格式转换为 UTC

我有一个类似于07-Oct-2019 11:02BST 格式的字符串。我必须以相同的格式转换为 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 框架。


弑天下
浏览 109回答 2
2回答

慕尼黑5688855

使用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>

繁花不似锦

&nbsp; &nbsp; &nbsp; &nbsp;var date = "07-Oct-2019 11:02";&nbsp; &nbsp; &nbsp; &nbsp; var a = date.split("-");&nbsp; &nbsp; &nbsp; &nbsp; var b = a[2].split(" ");&nbsp; &nbsp; &nbsp; &nbsp; var dateFormat = a[0] + ' - ' + a[1] + ' - ' + b[0] + ' ' + b[1];&nbsp; &nbsp; &nbsp; &nbsp; var convertedDate = new Date(dateFormat);&nbsp; &nbsp; &nbsp; &nbsp; weekdayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];&nbsp; &nbsp; &nbsp; &nbsp; monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];&nbsp; &nbsp; &nbsp; &nbsp; var dateString = convertedDate.getDate() + "-" + monthNames[convertedDate.getMonth()] + "-" + convertedDate.getFullYear() +" "+ convertedDate.getHours() + ":" + ("00" + convertedDate.getMinutes()).slice(-2);&nbsp; &nbsp; &nbsp; &nbsp; console.log(dateString);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript