javascript - 时区转换时刻js

标签 javascript momentjs

我需要根据用户使用 moment js 提供的时区字符串将 (UTC/GMT) 时间转换为本地时间。
例如:

utctime = "2014-06-09T05:36:06.005Z"
timezone = "5.5" (Indian Standard Time)
expected result = "2014-06-09 11:06"

我尝试了一些代码来实现这一点

var local_date = moment.utc("2014-06-09T05:36:06.005Z").zone("+05:30").format('YYYY-MM-DD HH:mm');
console.log('local date', local_date); // 2014-06-09 11:06 

这里得到了正确的结果。但是当我输入“5.5”(从用户端获取的 timzone 格式)时,我必须将时区设置为 +05:30 格式,它根本不起作用。

按照以下方式获取用户时区

-12, -11, .... -1 GMT 1, 2 .. 3.3, 5, 5.5, 5.75 ... 

有没有办法使用上述时区格式将 GMT 时间转换为本地时间。请引导我走向正确的方向。如果不可能,我如何将用户输入的时区转换为我想要的格式。谢谢

最佳答案

这可能对您有帮助http://jsfiddle.net/8qtFy/

var yourvalue=parseFloat("5.5");        

moment.utc("2014-06-09T05:36:06.005Z").add('hours',yourvalue).format('YYYY-MM-DD HH:mm');

关于javascript - 时区转换时刻js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24114469/

相关文章:

javascript - 与当前日期时间比较

javascript - 是的,多个复选框的验证

JavaScript、Switch 语句

javascript - 使用/不使用 moment.js 按时删除字符串属性

javascript - 如何使用 moment 获取 UTC 持续时间?

javascript - moment.js 在解析格式错误的日期时会做一些奇怪的事情

javascript - 如何将时刻 JS 时间插入 MySQL

javascript - chalice : Href and Src to Subfolder not working

javascript - Angular 2检查下一条路线OnDestroy

javascript - 如何通过输入数值动态添加文本区域输入? AngularJs