2015-06-26 3 views
5

मेरे पास एक ऐसा क्षेत्र है जो एक स्ट्रिंग के रूप में आता है और एक समय का प्रतिनिधित्व करता है। कभी-कभी 12 घंटे में, कभी-कभी 24 घंटे में। संभावित:पायथन: प्रारूप को जानने के बिना मैं स्ट्रिंग को डेटाटाइम कैसे परिवर्तित कर सकता हूं?

  1. 8:26
  2. 08:26 बजे
  3. 13:27

वहाँ एक समारोह है कि इसके बारे में स्मार्ट होने से समय प्रारूप करने के लिए इन में परिवर्तित कर देंगे है? विकल्प 1 में ऐसा नहीं है क्योंकि यह 24 घंटे के प्रारूप में है, जबकि विकल्प 2 में इससे पहले 0 है और विकल्प 3 स्पष्ट रूप से 24 घंटे प्रारूप में है। वहाँ अजगर/एक lib करता है में एक समारोह है:

time = func(str_time) 
+0

संबंधित: [datetime में स्ट्रिंग परिवर्तित] (http://stackoverflow.com/q/466345/4279) – jfs

+0

पर विशेष ध्यान देने "प्रारूप ज्ञात नहीं" के लिए +1 (यानी डीडी/मिमी और मिमी/डीडी के बीच भ्रम चिंता का विषय नहीं है)। यदि यह ज्ञात था, 'डेटुतिल' एक अविश्वसनीय विकल्प होगा। –

उत्तर

12

सुपर संक्षिप्त उत्तर:

from dateutil import parser 
parser.parse("8:36pm") 
>>>datetime.datetime(2015, 6, 26, 20, 36) 
parser.parse("18:36") 
>>>datetime.datetime(2015, 6, 26, 18, 36) 

Dateutil लिए उपलब्ध होना चाहिए अपने पायथन स्थापना; कुछ पांडा

आप datetime वस्तु से समय निकालना चाहते हैं जैसे बड़े की कोई आवश्यकता नहीं:

t = parser.parse("18:36").time() 

जो आपको एक time वस्तु दे देंगे (यदि है कि आप करने के लिए और अधिक मदद की है)। या आप निकाल सकते हैं अलग-अलग क्षेत्रों:

dt = parser.parse("18:36") 
hours = dt.hour 
minute = dt.minute 
+0

क्या मैं इसे डेटपुट के बिना कर सकता हूं? समस्या यह है कि मैं Google App Engine पर चल रहा हूं, और पायथन एसटीएल के बाहर पुस्तकालयों का उपयोग करना एक मुद्दा है। –

+0

@ डेबनाथ सिन्हा: पायथन एसटीएल? वह क्या है? साथ ही, यदि आप जानते हैं कि केवल तीन प्रकार की चीजें हैं और बाहरी पुस्तकालय का उपयोग नहीं करना चाहते हैं (हालांकि आपका प्रश्न ** विशेष रूप से ** इसके लिए पूछा गया है), तो पार्सर स्वयं लिखें। यह वास्तव में 'string.split (":")' और पसंद के साथ मुश्किल नहीं है। –

+0

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

2

वहाँ पांडा में ऐसे ही एक समारोह है

import pandas as pd 
d = pd.to_datetime('<date_string>') 
संबंधित मुद्दे

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