如何将javascript日期时区偏移值转换为持续时间字符串格式?

如何将javascript日期时区偏移值转换为持续时间字符串格式?,javascript,timezone,Javascript,Timezone,在javascript中,我希望以类似“-04:00”的格式获取时区值。但是我想从新日期()开始。getTimezoneOffset()。到目前为止,我有这个 function getTimeZoneOffset() { //var t = new Date().toString().match(/[-\+]\d{4}/)[0]; //return t.substring(0,3) + ":" + t.substr(3); var g = new Da

在javascript中,我希望以类似
“-04:00”
的格式获取时区值。但是我想从
新日期()开始。getTimezoneOffset()
。到目前为止,我有这个

function getTimeZoneOffset() {
    //var t = new Date().toString().match(/[-\+]\d{4}/)[0];
    //return t.substring(0,3) + ":" + t.substr(3);
    var g = new Date().getTimezoneOffset() / -60;
    if (g > -10 && g < 0) g = g.toString().replace("-", "-0");
    else if (g === 0) g = "00";
    else if (g > 0 && g < 10) g = "+0" + g;
    g += ":00";
    return g;
}
函数getTimeZoneOffset(){ //var t=new Date().toString().match(/[-\+]\d{4}/)[0]; //返回t.substring(0,3)+:“+t.substring(3); var g=新日期().getTimezoneOffset()/-60; 如果(g>-10&&g<0)g=g.toString()。替换(“-”,“-0”); 如果(g==0)g=“00”; 如果(g>0&&g<10)g=“+0”+g; g+=“:00”; 返回g; }
但当处理分数或时区时,它就不起作用了,就像
xx:30
。如何改进这一点?

首先,我建议更改代码,使其更具可读性

var total_minutes=new Date().getTimezoneOffset()/-1;
然后,你可以通过增加商来计算小时数,就像你已经做的那样

var小时=(总分钟/60);
//否定的
我们需要计算小时数的剩余部分,因此我们添加:

var分钟=(-1*总分钟)%60
然后使用上面的方法格式化它,您需要修改它。如果你需要帮助,请告诉我。
希望这有帮助

希望这就是你想要的:

函数格式OffsetOHmm(OffsetMins){
var负值=偏移分钟