python - 没有零的 Python strftime 天数
问题描述
为什么此页面中的代码不起作用?:http ://strftime.org/ 。我想输出不带前导零的日期和月份,例如'm/d/yyyy'
例如: '4/5/1992' 是
'04/05/1992' 否
from datetime import datetime, timedelta, date
yest = datetime.strftime(datetime.now() - timedelta(21), '%-m-%-d-%Y')
print(yest)
ValueError Traceback (most recent call last)
<ipython-input-35-7c70a0a7eee5> in <module>
1 from datetime import datetime, timedelta, date
----> 2 yest = datetime.strftime(datetime.now() - timedelta(21), '%-m-%-d-%Y')
3 print(yest)
ValueError: Invalid format string
解决方案
该%-m
选项确实说明格式是特定于平台的,因此里程可能会有所不同。
您可以在 Python 3 中简单地使用 f 字符串。
yest = datetime.now() - timedelta(21)
yest = f'{yest.month}/{yest.day}/{yest.year}'
>>> yest
'10/9/2019'
对于您在评论中解释的数据框:
df = pd.DataFrame({
'fecha_vencimiento': [
'12/25/2009', '01/05/2010', '04/13/2011', '']})
df['fecha_vencimiento'] = pd.to_datetime(
df['fecha_vencimiento'], format='%m/%d/%Y', errors='coerce').apply(
lambda x: f'{x.month}/{x.day}/{x.year}'
if pd.notnull(x) else '')
推荐阅读
- javascript - npm 从下拉列表中输入用户选择的选项
- html - 在两个地方有相同的单选按钮
- facebook - 启用 facebook 连接的最受限制的内容安全策略是什么
- javascript - 通过对象内部的属性过滤对象数组,该对象包含在迭代对象内部的数组中[Javascript]
- laravel - Laravel 5.7 Guard 和 Middleware 不工作
- python - 纯python数据库驱动
- flask - Flask WTForms - 如何跳过对不可见 div 中的字段的验证?
- javascript - 在 PHP 变量中处理内联 JS 中的单引号和双引号时遇到问题
- android - java.lang.NoSuchMethodError:没有虚拟方法 getMicrophones()
- ms-access - 如何在来自聚合查询的 Access 表中插入一组记录