Python将日期字符串转换为python日期并减去

标签 python

我有一种情况需要从 date_entry 中找到之前的日期,其中 date_entry 是字符串,我设法做到了这一点:

>>> from datetime import timedelta, datetime
>>> from time import strptime, mktime
>>> date_str = '20130723'
>>> date_ = strptime(date_str, '%Y%m%d')
>>> date_
time.struct_time(tm_year=2013, tm_mon=7, tm_mday=23, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=204,tm_isdst=-1)
>>> datetime.fromtimestamp(mktime(date_))-timedelta(days=1)
datetime.datetime(2013, 7, 22, 0, 0)
>>>

但是,为此我必须导入模块 timedeltadatetimestrptimemktime。我认为这真的是解决这个简单问题的矫枉过正。

有没有更优雅的方法来解决这个问题(使用 Python 2.7)?

最佳答案

只需使用 datetime.datetime.strptime类方法:

>>> import datetime
>>> date_str = '20130723'
>>> datetime.datetime.strptime(date_str, '%Y%m%d') - datetime.timedelta(days=1)
datetime.datetime(2013, 7, 22, 0, 0)

关于Python将日期字符串转换为python日期并减去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17850500/

相关文章:

python - python 是并发编程的重要选择吗

python - 处理 Unicode 字符

python - FeatureTools:time_index参数中可以有多列吗?

python - 如何告诉 sphinx 源代码在此路径中并在该路径中构建

python - Argparse:如何接受任意数量的可选参数(从 `-` 或 `--` 开始)

python - python中的phpMyAdmin等价物?

python - 如何旋转 Selenium 网络浏览器 IP 地址

python - 根据二维 numpy 数组中零值的坐标在矩阵中的位置将其分组到列表中

python - 多个for循环,不满足条件只打印一次else

python - Pyspark JSON 对象或文件到 RDD