我想在Python中获取当前时间,并将它们分配到年、月、日、小时、分钟等变量中。在Python 2.7中如何做到这一点?


当前回答

通过解包datetime对象的timetuple,你应该得到你想要的:

from datetime import datetime

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

其他回答

三个用于访问和操作日期和时间的库,即datetime、arrow和pendulum,都使这些项在命名元组中可用,其元素可以通过名称或索引访问。此外,物品以完全相同的方式访问。(我想如果我更聪明的话,我就不会感到惊讶了。)

>>> 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]

下面是一行代码,它的最大字符为80。

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

tzaman的datetime回答要干净得多,但你可以用原始的python 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]

您可以使用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)

看到struct_time

通过解包datetime对象的timetuple,你应该得到你想要的:

from datetime import datetime

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