2012-12-13 30 views
28

मैं निम्नलिखित 24 घंटे बार:मैं 24 घंटे का समय 12 घंटे के समय में कैसे परिवर्तित कर सकता हूं?

{'Wed': '10:30 - 21:00', 'Sun': '10:30 - 21:00', 'Thu': '10:30 - 21:00', 
'Mon': '10:30 - 21:00', 'Fri': '10:30 - 22:00', 'Tue': '10:30 - 21:00', 
'Sat': '10:30 - 22:00'} 

मैं यह कैसे परिवर्तित कर सकते हैं करने के लिए 12 घंटे का समय?

{'Wed': '10:30 AM - 09:00 PM', 'Sun': '10:30 AM - 09:00 PM', 
'Thu': '10:30 AM - 09:00 PM', 'Mon': '10:30 AM - 09:00 PM', 
'Fri': '10:30 AM- 10:00 PM', 'Tue': '10:30 AM- 09:00 PM', 
'Sat': '10:30 AM - 11:00 PM'} 

मैं समझदारी से "10:30 PM" को "10.30 AM" & "22:30" को "10.30" परिवर्तित करना चाहते हैं। मैं अपने तर्क का उपयोग कर कर सकता हूं लेकिन if के बिना समझदारी से ऐसा करने का कोई तरीका है ... elif?

+1

इसी लेकिन इसका उल्टा http://stackoverflow.com/questions/440061/convert-12-hour-date-time-to-24- घंटा-तिथि-समय – Trufa

उत्तर

48
>>> from datetime import datetime 
>>> d = datetime.strptime("10:30", "%H:%M") 
>>> d.strftime("%I:%M %p") 
'10:30 AM' 
>>> d = datetime.strptime("22:30", "%H:%M") 
>>> d.strftime("%I:%M %p") 
'10:30 PM' 
+0

@ जेएफएसबेस्टियन: बिलकुल! धन्यवाद! –

8

कुंजी इस कोड को library function time.strptime() का प्रयोग कर एक time.struct_time वस्तु में 24 घंटे की स्ट्रिंग अभ्यावेदन पार्स करने के लिए है, तो library function time.strftime() का उपयोग अपने वांछित 12 घंटे प्रारूप की एक स्ट्रिंग में इस struct_time फ़ॉर्मेट करने के लिए है।

मैं मान लेंगे आप कोई परेशानी नहीं एक पाश लेखन, dict में मान के माध्यम से पुनरावृति करने के लिए और एक समय प्रत्येक मान के साथ दो सबस्ट्रिंग में स्ट्रिंग को तोड़ने के लिए है।

प्रत्येक स्ट्रिंग के लिए, की तरह कोड के साथ समय मूल्य में परिवर्तित:

import time 
t = time.strptime(timevalue_24hour, "%H:%M") 
timevalue_12hour = time.strftime("%I:%M %p", t) 

सवाल, Converting string into datetime, भी मददगार जवाब है।

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