为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

弑天下 2021-11-12 16:48:43
我有一个类似于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 框架。
查看完整描述

2 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

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


查看完整回答
反对 回复 2021-11-12
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

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


查看完整回答
反对 回复 2021-11-12
  • 2 回答
  • 0 关注
  • 108 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信