我有一个返回timezone offset
字符串的函数(例如“ +03:00”)
而且我想使用moment.js或内置的简单javascript选项将此字符串转换为分钟偏移量(“ +03:00”应变为180)
我该怎么做?
答案 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 this的Parse Offset方法。
用法:
var zone = moment.tz.zone('America/New_York');
zone.parse(Date.UTC(2012, 2, 19, 8, 30)); // 240