jQuery技术:将时区偏移小时数转换为(军事?)小时内的时区偏移量

我正在使用WordPress和jQuery Timepicker。

WordPress以小时为单位给出时区偏移量:如+2或-3.5

jQuery Timepicker在军事时间内取消:+0200或-0330

我目前正在使用这样的东西:

gmt_offset = -4; hrs_offset = gmt_offset.replace('-', '-0') + "00"; = -0400 

但如果偏移不是一个负数,那将会破裂。

 gmt_offset = -3.5; hrs_offset = gmt_offset.replace('-', '-0') + "00"; = -03.500 //No good... need: -0330 

确认! 有人可以帮我解决这个问题吗?

    使用.split(".")将偏移分成两部分。

    如果小时部分小于10,则给小时部分“0”。如果最初为负,则附加负号。

     var negative = hour < 0 ? true : false; hour = Math.abs(hour) < 10 ? "0" + Math.abs(hour) : Math.abs(hour); hour = negative ? "-" + hour : "+" + hour; 

    要计算分钟部分,请将其乘以6。

     (time[1]*6).toString() 

    这是最后的function:

     function convertOffset(gmt_offset) { var time = gmt_offset.toString().split("."); var hour = parseInt(time[0]); var negative = hour < 0 ? true : false; hour = Math.abs(hour) < 10 ? "0" + Math.abs(hour) : Math.abs(hour); hour = negative ? "-" + hour : "+" + hour; return time[1] ? hour+(time[1]*6).toString() : hour + "00"; } document.write(convertOffset(-3.5)); 

    见DEMO 。

     function convert(gmt_offset) { var sign ="+"; if(gmt_offset < 0) { sign="-"; gmt_offset *= -1; } var hours = "0"+Math.floor(gmt_offset).toString(); var minutes = "0"+(Math.round(gmt_offset % 1 * 60)).toString(); return sign + hours.substr(hours.length - 2) + minutes.substr(minutes.length - 2); } 

    这是一个非常紧凑的版本:

     function militaryGMTOffsetFromNumeric(offset) { var dt = new Date( Math.abs(offset) * 3600000 + new Date(2000, 0).getTime() ).toTimeString(); return (offset < 0 ? '-' : '+') + dt.substr(0,2) + dt.substr(3,2); } 

    例如, militaryGMTOffsetFromNumeric(-3.5)返回-0330

      以上就是jQuery教程分享将时区偏移小时数转换为(军事?)小时内的时区偏移量相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/jquerytutorial/557898.html

      (0)
      上一篇 2021年1月26日
      下一篇 2021年1月26日

      精彩推荐