2011-01-12 17 views
10

मैं एक actionscript पुस्तकालय ऐसे ही तार ले जा सकते हैं खोजने के लिए चाहते हैं और उन्हें अवधि में पार्स करें (कुछ इकाई में समय लौटाएं)।पार्स अवधियों सरल अंग्रेजी

ऐसा लगता है कि यह कई बार पहले किया गया है और मैं खुद को ऐसी चीज को लागू करने से नफरत करता हूं।

यदि क्रियालेख में नहीं है तो पाइथन में (मैं इसे सर्वर पक्ष पर चला सकता हूं)।

(कृपया .. नोटिस मैं पार्सिंग के लिए देख रहा हूँ, स्वरूपण नहीं)

+0

FYI करें, यह पाया गया कि ActionScript वास्तव में एक जावास्क्रिप्ट क्लोन है: https: //github.com/gitpan/Time-Duration-Parse/blob/master/lib/Time/Duration/Parse.pm हालांकि यह पहली नज़र से बहुत मजबूत प्रतीत नहीं होता है –

+0

http: // stackoverflow की तरह कुछ।कॉम/प्रश्न/3451031/एक-जावास्क्रिप्ट-पार्सर-जैसी-तारीख-जेएस-फॉर-टाइम-अनुमान है? – Stobor

+0

हां, धन्यवाद। हालांकि वहां पोस्ट किया गया उदाहरण कोड बहुत सरल है। मैं कुछ और अधिक मजबूत खोज रहा था .. अन्यथा इसे स्वयं करना इतना अधिक काम नहीं है। –

उत्तर

0

किसी को एक समान प्रश्न यहाँ से पूछा:, Pretty Date Text in Flex/Flash/Java/C#

+0

अच्छी तरह से, स्वरूपण, पार्सिंग नहीं। लेकिन समान, हाँ। –

0

मैं एक जावास्क्रिप्ट lib काम करेंगे अनुमान लगा रहा हूँ दोनों के रूप में और के बाद से जेएस भाषाएं एक ही ईसीएमए मानक से हैं, कुछ मामूली मतभेदों के साथ ..

http://www.datejs.com/ जेएस में आप जो चाहते हैं वह करता है।

+0

क्या यह पार्स durations या सिर्फ तारीखें करता है? –

1

सिर्फ रिकॉर्ड के लिए, जावास्क्रिप्ट सीधे फ्लेक्स में काम नहीं करेगा। मुझे यकीन है कि आप इसे जानते हैं।

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

एएस 3 में निम्न कोड का उपयोग करें, और एचटीएमएल रैपर में datejs.js को शामिल करना सुनिश्चित करें, जिसमें यह एएस 3 जेनरेटेड एसएफएफ का उपयोग किया जाएगा।

//--------CODE IN AS-----------------// 
public function returnDate(date:String):void 
{ 
    Alert.show(date); 
} 

ExternalInterface.addCallback("returnDate",returnDate); 

public function parseDate(userInputString:String):void 
{ 
    ExternalInterface.call("parseStringByUser",userInputString); 
} 

//------------CODE IN JS----------------// 
function parseStringByUser(userInputString) 
{ 
    var parsedDate= Date.parse(userInputString); 
    //the line below calls the AS3 function , as AS3 itself exposed it using the ExternalInterface. 
     returnDate(parsedDate); 
} 

externalInterface के लिए विवरण आप देख सकते हैं: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/external/ExternalInterface.html

+0

मुझे डेटज के दस्तावेज़ों में कुछ भी दिखाई नहीं देता है जो सुझाव देता है कि यह _durations_ को पार्स कर सकता है .. यह तारीखों को पार करता है। यह वास्तव में मेरी मदद नहीं करता है। –

+0

http://code.google.com/p/datejs/wiki/APIDocumentation डेटजेस के लिए एपीआई संदर्भ आप क्या कर सकते हैं Date.today()। महीने (2) - Date.today() मिलीसेकंड की संख्या को पीछे छोड़ देता है दो महीने बाद आज और उसी तारीख के बीच। – Neeraj

+0

इसी प्रकार, यह दिनांक.today()। घंटे (2) दिनांक.today.minutes (2) आदि के लिए चीजें वापस करेगा। – Neeraj

0

मानक * nix आवेदन date(1), इस तरह के चश्मा पार्स करने में बहुत अच्छा है के रूप में आप नीचे देख सकते (शेल पटकथा लेखन)।

$ date; date -d '1 week 2 days 2 hours' 
Fri Feb 4 16:31:28 AMT 2011 
Sun Feb 13 18:31:28 AMT 2011 

हो सकता है कि आप आगे आत्मज्ञान के लिए GNU coreutils स्रोत कोड पर एक नज़र ले जा सकते हैं।

+0

$ जानकारी कोर्यूटिल्स 'डेट स्ट्रिंग्स में सापेक्ष आइटम' – milton

0

मुझे लगता है कि यदि आप इसे एएस 3 में करने के लिए सबसे अच्छा विकल्प (जैसा कि मैं अन्य उत्तरों में देखता हूं) डेटज का उपयोग करना है, तो एएस 3 पर जावास्क्रिप्ट कोड पोर्ट करना मुश्किल नहीं है, और आपके पास इसका लाभ भी है यदि आप इसे पोर्ट नहीं करना चाहते हैं तो ExternallInterface का उपयोग कर।

याद रखें ताकि आप datejs का कोड पेस्ट कर सकते हैं और वाक्य रचना के छोटे विवरण बदलने के लिए, लेकिन कोर बरकरार