2010-07-21 24 views
6

मैंने इस पर बहुत समय खो दिया, इसलिए मैं अन्य लोगों की मदद करने के लिए संसाधन के रूप में, जो मैंने सीखा, उससे सवाल पोस्ट कर रहा हूं। समस्या का संदर्भ एक आरएसएस पाठक का निर्माण कर रहा है। जबकि आरएसएस तिथियों को आरएफसी 822 के अनुरूप माना जाता है, वे अलग-अलग तरीकों से ऐसा करते हैं ताकि आप एक विधि चाहते हैं जो लचीला हो। मैंने जीडब्ल्यूटी डेटटाइमफॉर्मेट का उपयोग करने के साथ-साथ कुछ अलग मास्क हार्ड कोडिंग करने की कोशिश की लेकिन मेरे कोड को तोड़ने वाले टेस्टकेस ढूंढते रहे। मैं अंततः सुरुचिपूर्ण समाधान पर ठोकर खाई:जीडब्ल्यूटी में तिथियों का विश्लेषण कैसे करें?

जावास्क्रिप्ट Date.parse() विधि को कॉल करें। यह वास्तव में "बस काम करता है"।

मेटा-सिद्धांत के रूप में, जिसे मैं विकास के साथ जारी रखने के लिए परीक्षण करने की कोशिश करूंगा, शायद ऐसी कई चीजें हैं जो मूल जावास्क्रिप्ट या शायद अन्य पुस्तकालयों का उपयोग करके "बस काम करें" जीडब्ल्यूटी में जावा का उपयोग करके इसे मजबूर करें।

चीयर्स!

+5

अच्छी टिप! एक साइड नोट के रूप में, इस साइट पर कोई प्रश्न और उत्तर पोस्ट करने का सामान्य तरीका पहले प्रश्न पोस्ट करना है, और फिर जवाब को उत्तर फ़ील्ड में पोस्ट करना है। आप इसे स्वीकार किए गए उत्तर के रूप में चिह्नित करने में सक्षम होंगे (हालांकि अभी नहीं) और यह दूसरों को समस्या को हल करने के लिए अपने दृष्टिकोण पोस्ट करने का मौका देता है। – pkaeding

उत्तर

3

जावास्क्रिप्ट Date.parse() विधि को कॉल लपेटने के लिए जेएसएनआई मूल जावास्क्रिप्ट हैंडलिंग का उपयोग करें। यह जीडब्ल्यूटी के डेटटाइमफॉर्मैट की तुलना में बहुत अधिक प्रारूपों को संभाल सकता है।

नीचे दिया गया कोड एक डेमो देता है। नोटिस जीडब्ल्यूटी ने जावास्क्रिप्ट को लंबे मूल्यों को पारित करने की अनुमति नहीं दी है, इसलिए मैंने उस चारों ओर हैक करने के लिए स्ट्रिंग का उपयोग किया।

 public native String webDateToMilliSec(String webDate) /*-{ 
     var longDate = Date.parse(webDate); 
     return longDate.toString(); 
     }-*/; 

     public long getTimeStamp(final Element el) { 
      String sDate = getValueIfPresent(el, "pubDate"); 
      String sLongDate = webDateToMilliSec(sDate); 
      long longDate = Long.parseLong(sLongDate); 
      return longDate; 
     } 
+0

क्या कोई ब्राउज़र विशिष्ट सामग्री है जिसके लिए हमें खोजना चाहिए? आप कुछ नमूना कोड जोड़कर अपना जवाब भी परिशोधित कर सकते हैं (मुझे पता है कि यह मूलभूत सामान है, लेकिन चूंकि आपने इसे पहले ही लिखा है, इसे साझा क्यों नहीं करें?)) –

संबंधित मुद्दे