我要求根据用户使用时刻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时间转换为本地时间。请指导我正确的方向。如果不可能,我如何将用户输入时区转换为我想要的格式。谢谢
答案 0 :(得分:1)
这可能对您有所帮助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');