2009-02-10 12 views
5

मेरे पास एक साइबेस तालिका में डेटाटाइम फ़ील्ड है, और इसे कुछ गणना करने के लिए पर्ल में उपयोग करने की आवश्यकता है (यह सुनिश्चित करने के लिए अंतर है कि मैं कम से कम 'एन' मिनट अलग-अलग रिकॉर्ड उठा रहा हूं)। अब, अगर मैं बस <datetime field> का चयन करता हूं, तो साइबेस एक मानव पठनीय फ़ील्ड देता है जो मेरे लिए उपयोग नहीं करता है। मैं इसे एक युग आधारित समय में बदलने के लिए कुछ रास्ता देख रहा था, जो मुझे पर्ल में आसानी से छेड़छाड़ करने की अनुमति देगा।मैं पर्ल में एक साइबेस डेटाटाइम स्ट्रिंग का उपयोग कैसे कर सकता हूं?

मैं गलत हो सकता था लेकिन मुझे Sybase में इसके लिए कोई मौजूदा फ़ंक्शन नहीं मिला। मुझे सबसे नज़दीक मिल गया था, जो मेरे उद्देश्य को ठीक करता है। वास्तव में, मैं अब इसके लिए एक कामकाज के रूप में उपयोग कर रहा हूँ। डेटीफ के साथ समस्या पूर्णांक की सीमा के कारण है, यह 68 वर्षों में है। मुझे पता है कि मेरा कोड शायद उस समय तक नहीं होगा, लेकिन इस तरह की समय-सीमा सीमा क्यों शुरू करें?

क्या इसके आसपास जाने का कोई तरीका है?

धन्यवाद!

उत्तर

4

यदि आप क्लाइंट में ऐसा करने के ठीक हैं, तो समय :: ParseDate मॉड्यूल आपके लिए काम करने में सक्षम होना चाहिए।

2

DateTime मॉड्यूल ने मुझे अच्छी तरह से सेवा दी है जब मुझे दिनांक/समय की गणना को संभालने की आवश्यकता है।

प्रारूप को नियंत्रित करने के लिए डीबीडी :: Sybase syb_date_fmt() विधि का उपयोग करें, फिर DateTime::Format::Strptime का उपयोग अपने परिणामों को पार्स करने और डेटटाइम ऑब्जेक्ट्स उत्पन्न करने के लिए करें। अपने युग के समय को पाने के लिए डेटटाइम epoch विधि का उपयोग करें, या बेहतर डेटटाइम :: अवधि ऑब्जेक्ट्स का उपयोग करके अपने गणित को बेहतर बनाएं।

1

आप Sybase और पर्ल आप एक वास्तविक दिनांक समय वस्तु या कुछ इसी तरह (समय की तरह :: टुकड़ा) देने के लिए सहयोग करने के लिए नहीं मिल सकता है, तो जिस तरह से मैं आमतौर पर इस तरह की चीजों को संभाल डेटाबेस को समझाने के लिए देने की कोशिश करने के लिए है मुझे आईएसओ मानक दिनांक प्रारूप (YYYY-MM-DDTHH: MI: SS) और वहां से कनवर्ट करें।

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

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