将时区偏移小时数转换为时区偏移(军事?)小时
Convert timezone offset number of hours to timezone offset in (military?) hours
我正在使用WordPress和jQuery时间选择器。
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
Ack !有人能帮我弄明白吗?
使用.split(".")
将偏移量分割为2部分。
给小时部分一个"0",如果它小于10。如果初始值为负数,则在后面加上负号。
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 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));
看到演示。
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
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 调整窗口大小时,可拖动的对象会出现在容器外部
- toLocaleDateString和toLocaleString方法不尊重机器时区
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 如何在iOS应用程序中从Firebase中删除超过6小时的数据
- 高库存时期时间与时区不匹配
- 仅在IE中,javascript中的时区名称不正确
- 带时区的Javascript Datestring转换器
- IE在将字符串转换为日期时从日期中删除4小时
- 调整屏幕大小时更改属性值
- 获取用户选择的不带时区的日期
- 将直流图表库中的折线图缩放限制为小时
- Rails:如何获取当前用户'使用Heroku时的时区
- 为什么要做新的.Date()与new相差1小时.日期().到ISOString()
- 让谷歌数据图表有一个24小时x轴
- 当非整小时偏移时,带有 Moment 的时区显示不正确.js
- 获取时区时差(以小时为单位)
- 对于给定的小时,如何获得该小时所在的时区
- 将时区偏移小时数转换为时区偏移(军事?)小时
- Date.toString()在Firefox中不能将小时转换为正确的时区