我想在Python中获取当前时间,并将它们分配到年、月、日、小时、分钟等变量中。在Python 2.7中如何做到这一点?
当前回答
这是一个老问题,但我想到了一个解决方案,我认为其他人可能会喜欢。
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']使用。
这比这里的其他一些解决方案有更多的开销,但我发现能够在代码中为了清晰起见访问命名值是非常好的。
其他回答
这是一个老问题,但我想到了一个解决方案,我认为其他人可能会喜欢。
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']使用。
这比这里的其他一些解决方案有更多的开销,但我发现能够在代码中为了清晰起见访问命名值是非常好的。
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对象上的属性具有您所需要的一切。
让我们看看如何从当前时间中获取并打印日、月、年:
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
import time
year = time.strftime("%Y") # or "%y"
通过解包datetime对象的timetuple,你应该得到你想要的:
from datetime import datetime
n = datetime.now()
t = n.timetuple()
y, m, d, h, min, sec, wd, yd, i = t
推荐文章
- 在python中遍历对象属性
- 如何在Python中使用方法重载?
- 在Python中提取文件路径(目录)的一部分
- 如何安装没有根访问权限的python模块?
- 尝试模拟datetime.date.today(),但不工作
- 将行添加到数组
- 如何在Python中直接获得字典键作为变量(而不是通过从值搜索)?
- Python:为什么functools。部分有必要吗?
- 如何用python timeit对代码段进行性能测试?
- Python迭代器中的has_next ?
- ConfigParser中的列表
- 由于环境错误无法安装包:[Errno 13]
- 如何测试一个字符串是否包含列表中的一个子字符串,在熊猫?
- 'datetime'模块没有'strptime'属性
- 如何将字典保存到文件?