2016-12-09 4 views
0

Ich verwende OpenWeatherMap API und ich versuche, die LastUpdated Eigenschaft abzurufen.Convert Timestamp Datetime

Lassen Sie mich umformulieren, ich kann die LastUpdated Eigenschaft abrufen, aber mit JSON-Format kommt es als Zeitstempel.

Wie kann ich konvertieren, dass Zeitstempel auf eine normale Datum/Uhrzeit für den Benutzer angezeigt werden?

Ich habe einige der Forschung getan und heruntergeladen Moment.js, aber wenn ich die Seite laufen lasse, erhalte ich eine Fehlermeldung,:

Error: Object doesn't support property or method 'format'

Hier ist mein Code:

<script src="~/Scripts/moment.js"></script> 
<script> 
    $(document).ready(function() { 
     var request = $.ajax({ 
      url: "http://api.openweathermap.org/data/2.5/weather", 
      method: "GET", 
      data: { id: '4142290', appid: 'myapikey', units: 'imperial' }, 
      success: function (response) { 
       console.log(response); 
       var weatherIcon = response.weather[0].icon; 
       var weatherDescription = response.weather[0].description; 
       var weatherTemp = response.main.temp; 
       var lastUpdated = response.dt; 
       var formatted = lastUpdated.format("dd.mm.yyyy hh:MM:ss"); 

       var iconUrl = "http://openweathermap.org/img/w/" + weatherIcon + ".png"; 
       document.getElementById('Weather-Image').src = iconUrl; 
       document.getElementById('Weather-Description').innerHTML = "[" + weatherDescription + "]"; 
       document.getElementById('Weather-Temp').innerHTML = weatherTemp; 
       document.getElementById('Weather-Updated').innerHTML = formatted; 
      }, 
      error: function (xhr, ajaxOptions, thrownError) { 
       alert(xhr.responseText) 
      } 
     }); 
    }); 
</script> 

Jede Hilfe ist geschätzt.

+0

haben einen Scheck bei: http://stackoverflow.com/questions/19485353/function-to-convert -timestamp-zu-Mensch-date-in-JavaScript aktivieren, wird die beste Lösung von RobG gegeben, der 41 upvote gewonnen – Kelvin

Antwort

2

Sie versuchen Moment.js' format Methode auf einem Zeitstempel, anstatt eine Instanz von Moment

Als erstes müssen Sie analysieren den zurückgegebenen Zeitstempel und formatieren Sie es in der Art, die Sie benötigen zu rufen.

var formatted = moment(response.dt).format("dd.mm.yyyy hh:MM:ss"); 

dass response.dt Angenommen ist ein Format, das von der Parsing-Funktion von moment.js unterstützt (docs)