如何获取 python 中的当前时间并分解为年、月、日、小时、分钟?
How to get current time in python and break up into year, month, day, hour, minute?
我想获取 Python 中的当前时间并将它们分配给 year
、month
、day
、hour
、minute
。如何在 Python 2.7 中完成此操作?
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
对象的属性有你需要的一切。
通过解包 timetuple
日期时间对象,您应该得到您想要的:
from datetime import datetime
n = datetime.now()
t = n.timetuple()
y, m, d, h, min, sec, wd, yd, i = t
的 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]
这是单行代码,刚好低于 80 个字符行的最大值。
import time
year, month, day, hour, min = map(int, time.strftime("%Y %m %d %H %M").split())
三个用于访问和操作日期和时间的库,即 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]
这是一个较旧的问题,但我提出了一个我认为其他人可能会喜欢的解决方案。
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))
timetuple() 可以与另一个数组压缩,创建带标签的元组。将其转换为字典,生成的产品可以使用 get_current_datetime_as_dict()['year']
.
这比这里的其他一些解决方案有更多的开销,但我发现能够在代码中访问命名值非常好。
import time
year = time.strftime("%Y") # or "%y"
为python3
import datetime
now = datetime.datetime.now()
print(now.year, now.month, now.day, now.hour, now.minute, now.second)
您可以使用 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)
让我们看看如何从当前时间获取并打印 python 中的日、月、年:
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
我想获取 Python 中的当前时间并将它们分配给 year
、month
、day
、hour
、minute
。如何在 Python 2.7 中完成此操作?
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
对象的属性有你需要的一切。
通过解包 timetuple
日期时间对象,您应该得到您想要的:
from datetime import datetime
n = datetime.now()
t = n.timetuple()
y, m, d, h, min, sec, wd, yd, i = t
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]
这是单行代码,刚好低于 80 个字符行的最大值。
import time
year, month, day, hour, min = map(int, time.strftime("%Y %m %d %H %M").split())
三个用于访问和操作日期和时间的库,即 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]
这是一个较旧的问题,但我提出了一个我认为其他人可能会喜欢的解决方案。
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))
timetuple() 可以与另一个数组压缩,创建带标签的元组。将其转换为字典,生成的产品可以使用 get_current_datetime_as_dict()['year']
.
这比这里的其他一些解决方案有更多的开销,但我发现能够在代码中访问命名值非常好。
import time
year = time.strftime("%Y") # or "%y"
为python3
import datetime
now = datetime.datetime.now()
print(now.year, now.month, now.day, now.hour, now.minute, now.second)
您可以使用 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)
让我们看看如何从当前时间获取并打印 python 中的日、月、年:
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