Python如何获取带双引号的动态当日日期?
解决Python输出带双引号的动态当日日期问题
需求说明
需要生成带首尾双引号的当日动态日期,格式示例:"2022-08-14",日期随系统日期自动变化,双引号必须保留。
尝试代码及问题
你尝试的代码如下:
from datetime import date from datetime import timedelta n=0 today = date.today() - timedelta(days = n) print(today) print("today") print("", today , "")
输出结果:
2022-08-14 today 2022-08-14
问题在于:print("", today , "")仅在日期前后添加空字符串,并未插入双引号;print("today")直接输出固定字符串而非日期变量值,因此无法得到带双引号的目标格式。
解决方案
以下几种方法均可实现需求:
方法1:使用f-string格式化(Python 3.6及以上推荐)
f-string是最简洁直观的方式,直接将双引号嵌入格式化字符串中:
from datetime import date, timedelta n = 0 today = date.today() - timedelta(days=n) print(f'"{today}"')
输出:
"2022-08-14"
方法2:字符串拼接
将双引号字符串与日期变量的字符串形式直接拼接:
from datetime import date, timedelta n = 0 today = date.today() - timedelta(days=n) print('"' + str(today) + '"')
输出与上述一致。
方法3:使用str.format()方法
通过格式化占位符将日期变量插入带双引号的模板中:
from datetime import date, timedelta n = 0 today = date.today() - timedelta(days=n) print('"{}"'.format(today))
输出同样符合需求。
内容的提问来源于stack exchange,提问作者Hsuan hsien Lin
相关产品推荐
相关产品推荐

