我从服务器获取字符串,我需要将提取字符串转换为新的日期对象..为此,我尝试了这个函数,但没有用,任何人都可以帮我将字符串转换为日期对象? / p>
我的代码是:
var nationZone = {
getNewYorkLocalTime : 'getTime.php?lat=40.71417&lan=74.00639',
getLondonLocalTime : 'getTime.php?lat=51.5&lan=0.1166667',
getChennaiLocalTime : 'getTime.php?lat=13.0833333&lan=80.2833333',
getBangaloreLocalTime:'getTime.php?lat=12.9833333&lan=77.5833333'
}
$.each(nationZone , function(key, value){
$.get(value, function(response){
var newdate = $(response).find('localtime').text();
if(key == "getNewYorkLocalTime"){
var newyourktime = new Date(newdate);
newyourktime.getTime()
}
});
});
但是,newyourktime只显示当地时间..请帮忙吗?我收到服务器的回复是:2011年11月17日18:09:47 - 就像这样。
答案 0 :(得分:1)
使用http://www.datejs.com/ 举个例子:
var newyourktime = Date.parse('2011-11-11, 11:11 AM');
alert(newyourktime.toString('dd/mm/yyyy HH:mm:ss EST'));
查看Datejs库文档以满足您的要求,在解析了日期字符串后,您可以使用它做很多事情。
答案 1 :(得分:0)
这将尝试使用客户端计算机自己的本地设置来解析日期,这是不好的。
不是将其作为字符串传递,而是将其作为自1970年1月1日午夜以来经过的总秒数传递,并在构造JavaScript的新Date对象时使用此数字。
例如,传递此号码:1321614000000,您将在2011年11月18日,下午1点
答案 2 :(得分:0)
您可以使用substr
day = newdate.substr(0,2);
month = newdate.substr(3,3);
year = newdate.substr(7,4);
var newyorktime = new Date(year, month, day);