Datum auf dem iOS-Gerät NaN zurück

ich bin derzeit an der Entwicklung einer cordova web-basierte Anwendung mit ionic und angularjs. jetzt habe ich einen service, gibt einen formatierten Zeit die Art, wie mein Kunde will es.. das problem mit diesem ist, dass, während es funktioniert auf android und im browser, es zeigt NaN auf einem iOS-Gerät. Das Datum füge ich eine Datenbank in timestamp : JETZT() format, gibt es eine Lösung für dieses Problem?
dies ist mein service-Datum:

.factory('displaydate',['$filter', function($filter) {
  return function (date){
    var maandarray = new Array('Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December'); 
    var actiondate = new Date(date);
    var today = new Date();
    if(today.getDate() == actiondate.getDate()){
        var hourssince =   today.getHours() - actiondate.getHours()
        var minutessince =   today.getMinutes() - actiondate.getMinutes()
        var secondssince =   today.getSeconds() - actiondate.getSeconds()
        if(hourssince > 0){
            date = hourssince+'u';
        }else if(minutessince > 0){
            date = minutessince+'m';
        }else{
            date = secondssince+'s';
        }
    }else{
        var oneDay = 24*60*60*1000; //hours*minutes*seconds*milliseconds
        var diffDays = Math.round(Math.abs((today.getTime() - actiondate.getTime())/(oneDay)));
        if(diffDays > 28){
            var identifier = actiondate.getMonth() - 1;
            var month = maandarray[identifier];
            date = $filter('date')(actiondate,"d ") + month +  $filter('date')(actiondate," yy " + " HH:" + "mm");
        }else{ 
            date = diffDays+'d';
        }
    }
    return date;
  }
}]);
Es bedeutet wahrscheinlich, dass das "Datum" Zeichenfolge, die Sie beginnen mit ist nicht verstanden als gültiges Datumsformat in iOS. Wenn Sie konstruieren eine Date-Instanz mit einem unparseable-saite, dann alle APIs zurück NaN.
Sollten Sie formatieren den string in ein standard-format (ISO -) und ich bin mir ziemlich sicher, dass es funktionieren wird
es ist ein mysql-timestamp-NOW () - format-string direkt aus der db
Das erzeugt eine datetime-Wert, der nah ist nach ISO8601, aber nicht genau. Wenn Sie möchten, um analysiert zu werden, korrekt in allen Browsern, die Sie benötigen, um diese zu formatieren oder analysieren Sie es selbst (oder eine Bibliothek)
Danke @Ian Formatierung ja behoben.

InformationsquelleAutor Sjoerd de Wit | 2014-10-30

Schreibe einen Kommentar