[英]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.