将时区偏移量“ +00:00”转换为分钟

时间:2018-08-16 08:17:58

标签: javascript momentjs timezone-offset

我有一个返回timezone offset字符串的函数(例如“ +03:00”) 而且我想使用moment.js或内置的简单javascript选项将此字符串转换为分钟偏移量(“ +03:00”应变为180)

我该怎么做?

4 个答案:

答案 0 :(得分:3)

我找到了解决方法:

moment().utcOffset("+03:00").utcOffset() // returns 180
moment().utcOffset("-09:00").utcOffset() // returns -540

答案 1 :(得分:1)

使用香草JS,您可以使用以下内容获取会议记录,它将兑现正负偏移。

let offset = '-03:30';

let [h, m] = offset.split(':');

let hours = Number.parseInt(h);
let minutes = Number.parseInt(m);

let totalMinutes = hours * 60 + (hours < 0 ? (-minutes) : minutes);

答案 2 :(得分:0)

只需获取偏移小时,然后将其乘以60,如下所示:

function parseOffset(offset){
   var minutesOffset = (parseInt(offset[1] + offset[2]) * 60)

   console.log(parseInt(offset[0] + minutesOffset.toString()))
}
  
parseOffset("+03:00");
parseOffset("-02:00");

上面的代码也返回负偏移。

从纯JavaScript中的日期对象获取分钟的唯一方法是使用

.getTimezoneOffset()-但根据您的问题似乎并非如此。

我没有其他方法可以将“ +03:00”解析为分钟。

答案 3 :(得分:0)

您可以尝试使用proven to be able to scan thisParse Offset方法。

用法:

var zone = moment.tz.zone('America/New_York');
zone.parse(Date.UTC(2012, 2, 19, 8, 30)); // 240