What is an efficient way to trim a date in Python?
目前我正试图用以下代码将当前日期缩减为日、月和年。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #Code from my local machine from datetime import datetime from datetime import timedelta five_days_ago = datetime.now()-timedelta(days=5) # result: 2017-07-14 19:52:15.847476 get_date = str(five_days_ago).rpartition(' ')[0] #result: 2017-07-14 #Extract the day day = get_date.rpartition('-')[2] # result: 14 #Extract the year year = get_date.rpartition('-')[0]) # result: 2017-07 |
我不是Python专业人员,因为几个月前我就掌握了这种语言,但我想了解以下几点:
我在以下技术设置中尝试了我的代码:本地机器使用python 3.5.2(x64)、python 3.6.1(x64)和repl.it使用python 3.6.1
在线尝试代码,复制并粘贴行代码
试试下面的:
1 2 3 4 5 | from datetime import date, timedelta five_days_ago = date.today() - timedelta(days=5) day = five_days_ago.day year = five_days_ago.year |
如果你想要的是一个约会的对象(不是一个日期和时间),而不是使用
作为对你的问题
如果你想坚持用你的方法,你的代码会
1 2 | year = get_date.partition('-')[0] # result: 2017 |
然而,也有一个相关的(更好的)方法:使用
1 2 3 4 | parts = get_date.split('-') year = parts[0] month = parts[1] day = parts[2] |