【发布时间】:2020-04-04 03:47:34
【问题描述】:
我编写了一个相当长的脚本来组织数据并进行一些计算等,然后将其全部保存到另一个位置的另一个 Excel 文件中。对于要运行的脚本,用户以 mmdd 形式输入日期,以便它可以找到具有该名称的文本文件以打开并运行计算。
当我想在 excel 文件的第一列中以 mm/dd/yy 形式输入完整日期以与前几年已经存在的数据保持一致时,我遇到的问题最后出现了。
这是我所拥有的:
mmdd = input("Enter txt file date in mmdd:")
#do a bunch of stuff to get new data
#get the date using mmdd
day = datetime.datetime.strptime(mmdd, '%m%d')
date = day.strftime('%m/%d')
#add data to excel file to new row without any data
row = ws.max_row + 1
new_row = [date, #all other data#]
当我运行它时,它将 mm/dd 添加到第一列没有问题。但是,我想将 当前年份 添加到末尾,即 mm/dd/19。
当我使用这个时:
day = datetime.datetime.strptime(mmdd, '%m%d')
date = day.strftime('%m/%d/%y')
我显然得到了 1900 年的垃圾年份,因为一开始没有指定年份。
我也试过了:
yr = datetime.datetime.now().year
但我不能让它与 mm/dd 结合而不抛出错误。
任何建议将不胜感激。
【问题讨论】:
-
this question 是否回答了您的问题?用
now().year替换年份? -
data = datetime(year=datetime.now().year, month=int(mmdd[:2]), day=int(mmdd[2:]))
标签: python python-3.x date datetime