使用javascript将日期字符串转换为UTC + 0530格式

时间:2011-02-14 09:07:40

标签: javascript datetime string-formatting

我的日期格式为14-Feb-2011,但我希望将其转换为Mon Feb 14 10:13:50 UTC+0530 2011格式。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:3)

使用new Date(Date.UTC(year, month, day, hour, minute, second)),您可以从特定的UTC时间创建日期对象。

我尝试了这段代码并返回了正确的日期(印度语区域)

var d=Date.parse("14,Feb,2011");
document.write(new Date(d));

输出:

Mon Feb 14 2011 00:00:00 GMT+0530 (India Standard Time) .

<小时/> 以下是在不同时区之间进行转换的示例。

<html>
<body>

<script type="text/javascript">

//Set you offset here like +5.5 for IST
var offsetIST = 5.5;


//Set you offset here like -8 for PST
var offsetPST = -8;

//Create a new date from the Given string
var d=new Date(Date.parse("14,Feb,2011"));

//To convert to UTC datetime by subtracting the current Timezone offset
var utcdate =  new Date(d.getTime() + (d.getTimezoneOffset()*60000));

//Then cinver the UTS date to the required time zone offset like back to 5.5 for IST
var istdate =  new Date(utcdate.getTime() - ((-offsetIST*60)*60000));

//Then cinver the UTS date to the required time zone offset like back to -8 for PST (Canada US)
var pstdate=  new Date(utcdate.getTime() - ((-offsetPST*60)*60000));

document.write(d);
document.write("<br/>");
document.write(utcdate);
document.write("<br/>");
document.write(istdate);
document.write("<br/>");
document.write(pstdate);
</script>

</body>
</html>

输出:

Mon Feb 14 2011 00:00:00 GMT+0530 (India Standard Time)
Sun Feb 13 2011 18:30:00 GMT+0530 (India Standard Time)
Mon Feb 14 2011 00:00:00 GMT+0530 (India Standard Time)
Sun Feb 13 2011 10:30:00 GMT+0530 (India Standard Time) 

因为新的Date()总是将日期显示为当地时区(对我来说是IST),所以写IST的每一个地方都是如此,但是日期时间实际上是原始 UTC ,<强> IST , PST

答案 1 :(得分:0)

var d = new Date("14-Feb-2011");

这将给出一个输出 2011年2月14日星期一00:00:00 GMT-0500(东部标准时间)