2016-01-12 140 views
0

我有一个函数来获取预报天气AJAX这个加载到格但json日期有日期时间format type: "dt":1452254400如何在ajax中获取正确的日期格式?

我需要的格式:'Y-m-d'但在阿贾克斯我不能使用gmdate() PHP函数来得到这个。

我试图用

$.ajax({ 
    url: urlforecast, 
    dataType:"JSON", 
    success:function(data){ 
     var str = (""+data['list'][0]['dt']); 

     var num = parseInt(str.replace(/[^0-9]/g, "")); 
     var date = new Date(num); 
     alert(date); 

得到这可是他的格式是:Sat Jan 17 1970 20:29:56 GMT+0100,我不喜欢这个。

如何将gmdate()这样的格式转换为ajax函数?

+0

你一个数转换为字符串(' “” +数据[ '名单'] [0] [ 'DT']')才再次解析为一个号码('parseInt函数()' )。为什么? – Andreas

回答

0

你有纪元以来的秒数,JavaScript使用毫秒,因此你必须一千

$.ajax({ 
    url  : urlforecast, 
    dataType : "JSON", 
    success : function(data){ 
     var num = (+data['list'][0]['dt']) * 1000; 
     var date = new Date(num); 
    } 
}); 

乘以要获得Y-m-d你会做

var date = new Date(num); 
var ymd = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate(); 
0

尝试通过1000乘以num,使用.toJSON()String.prototype.slice()

var num = 1452254400; 
 
var ymd = new Date(num * 1000).toJSON().slice(0, 10); 
 
console.log(ymd)