अजगर में वर्तमान समय कैसे प्राप्त करें और वर्ष, महीने, दिन, घंटे, मिनट में तोड़ दें?


311

चर की तरह में मैं अजगर में वर्तमान समय मिलता है और उन्हें आवंटित करने के लिए चाहते हैं year, month, day, hour, minute। यह पायथन 2.7 में कैसे किया जा सकता है?



जवाबों:


551

datetimeमॉड्यूल अपने दोस्त है:

import datetime
now = datetime.datetime.now()
print now.year, now.month, now.day, now.hour, now.minute, now.second
# 2015 5 6 8 53 40

आपको अलग-अलग वैरिएबल की आवश्यकता नहीं है, लौटी हुई datetimeऑब्जेक्ट की विशेषताओं में आपकी सभी आवश्यकताएं हैं।


4
बस एक प्रसिद्धि:import time \n now=time.localtime() \n print now.tm_year, now.tm_mon, now.tm_mday, now.tm_hour, now.tm_hour, now.tm_min, now.tm_sec, now.tm_wday, now.tm_yday, now.tm_isdst
शॉन

31

यहाँ एक लाइनर है जो सिर्फ 80 चार लाइन अधिकतम के तहत आता है।

import time
year, month, day, hour, min = map(int, time.strftime("%Y %m %d %H %M").split())

29

datetimeद्वारा जवाब tzaman अधिक स्वच्छ है, लेकिन आप मूल अजगर के साथ यह कर सकते हैं timeमॉड्यूल:

import time
strings = time.strftime("%Y,%m,%d,%H,%M,%S")
t = strings.split(',')
numbers = [ int(x) for x in t ]
print numbers

आउटपुट:

[2016, 3, 11, 8, 29, 47]

14

timetupleडेटाटाइम ऑब्जेक्ट को अनपैक करके , आपको वह प्राप्त करना चाहिए जो आप चाहते हैं:

from datetime import datetime

n = datetime.now()
t = n.timetuple()
y, m, d, h, min, sec, wd, yd, i = t


6

आइए देखें कि वर्तमान समय से अजगर में दिन, महीने, वर्ष कैसे प्राप्त करें और प्रिंट करें:

import datetime

now = datetime.datetime.now()
year = '{:02d}'.format(now.year)
month = '{:02d}'.format(now.month)
day = '{:02d}'.format(now.day)
hour = '{:02d}'.format(now.hour)
minute = '{:02d}'.format(now.minute)
day_month_year = '{}-{}-{}'.format(year, month, day)

print('day_month_year: ' + day_month_year)

परिणाम:

day_month_year: 2019-03-26


2

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

>>> YEARS, MONTHS, DAYS, HOURS, MINUTES = range(5)
>>> import datetime
>>> import arrow
>>> import pendulum
>>> [datetime.datetime.now().timetuple()[i] for i in [YEARS, MONTHS, DAYS, HOURS, MINUTES]]
[2017, 6, 16, 19, 15]
>>> [arrow.now().timetuple()[i] for i in [YEARS, MONTHS, DAYS, HOURS, MINUTES]]
[2017, 6, 16, 19, 15]
>>> [pendulum.now().timetuple()[i] for i in [YEARS, MONTHS, DAYS, HOURS, MINUTES]]
[2017, 6, 16, 19, 16]

2

आप gmtime का उपयोग कर सकते हैं

from time import gmtime

detailed_time = gmtime() 
#returns a struct_time object for current time

year = detailed_time.tm_year
month = detailed_time.tm_mon
day = detailed_time.tm_mday
hour = detailed_time.tm_hour
minute = detailed_time.tm_min

नोट: एक टाइम स्टैम्प को gmtime तक पहुंचाया जा सकता है, डिफ़ॉल्ट वर्तमान समय है जैसा कि समय के अनुसार लौटा जाता है ()

eg.
gmtime(1521174681)

स्ट्रक्चर_टाइम देखें


1

यह एक पुराना सवाल है, लेकिन मैं एक समाधान के साथ आया था मुझे लगा कि दूसरों को पसंद आ सकता है।

def get_current_datetime_as_dict():
n = datetime.now()
t = n.timetuple()
field_names = ["year",
               "month",
               "day",
               "hour",
               "min",
               "sec",
               "weekday",
               "md",
               "yd"]
return dict(zip(field_names, t))

समय-सारणी () को अन्य सरणी के साथ ज़िपित किया जा सकता है, जो लेबल किए गए ट्यूपल बनाता है। एक शब्दकोष और परिणामी उत्पाद के साथ कास्ट किया जा सकता हैget_current_datetime_as_dict()['year']

यह यहाँ पर कुछ अन्य समाधानों की तुलना में थोड़ा अधिक ओवरहेड है, लेकिन मैंने पाया है कि कोड में क्लैरटीय के लिए नामित मूल्यों का उपयोग करने में सक्षम होना बहुत अच्छा है।


-4

आप पायथन 2.7 में वर्तमान तिथि और समय प्राप्त करने के लिए डेटाइम मॉड्यूल का उपयोग कर सकते हैं

import datetime
print datetime.datetime.now()

आउटपुट:

2015-05-06 14:44:14.369392

7
इस सवाल का जवाब नहीं है।
कॉलिन टी हार्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.