2014-05-13 12 views
6

में NaN-NaN-NaN लौटाता है नीचे दिया गया फ़िल्टर क्रोम पर काम करता है लेकिन फ़ायरफ़ॉक्स नहीं। मुझे समझ में नहीं आता क्यों।फ़िल्टर तिथि AngularJS

myApp.filter('dateCustom', [ '$filter', function ($filter) { 
    return function (input) { 

     // input => 2014-05-13 15:04:48 

     if(angular.isDefined(input)){ 
     var d = new Date(input); 
     var time = d.getTime(); 
     return $filter('date')(time,'dd/MM/yyyy'); 
     } 
    } 
    }]); 

HTML:

<span> {{ project.date_created_at | dateCustom }} </span> 

क्रोम

enter image description here

फ़ायरफ़ॉक्स

enter image description here

+0

इनपुट मूल्य क्या है? – Dalorzo

+0

कृपया मेरे अपडेट की जांच करें – Steffi

+0

मुझे अभी भी ऑब्जेक्ट प्रोजेक्ट.date_created_at मान नहीं दिख रहा है जो हमें इसमें क्या है इसका कोई संकेत नहीं देता है। – Dalorzo

उत्तर

6

फ़ायरफ़ॉक्स उस प्रारूप में किसी दिनांक का समर्थन नहीं करता है, आपको डैश के पहले स्लेश के साथ प्रतिस्थापित करना होगा।

var d = new Date(input.replace(/-/g, '/')); 
+0

लगभग सही! आपने '' 'छोड़ा आपका बहुत बहुत धन्यवाद। – Steffi

+1

हाँ इसके बारे में खेद है, मेरी प्रतिलिपि में त्वरित प्रतिलिपि/पेस्ट विफल हो गई है। मैंने जवाब अपडेट कर लिया है। –

0

एक स्ट्रिंग को आज तक कनवर्ट करना एक ब्राउज़र से दूसरे में भिन्न हो सकता है। यदि आपको अपनी तिथि पर NaN जैसी कुछ मिल रही है तो यह दिनांक रूपांतरण की वजह से है।

मुझे मिलने का सबसे अच्छा तरीका MomentJS का उपयोग करना है, जो तिथियों को बनाने के लिए एक शानदार टूल है। प्रभावी रूप से मैंने इसे इस्तेमाल करने के बाद हर ब्राउज़र में काम किया। बस उपयोग कर रहे हैं:

moment($scope.date).format("DD/MM/YYYY"); 
संबंधित मुद्दे