【问题标题】:I need to convert datetime to date without seconds in python我需要在python中将日期时间转换为没有秒数的日期
【发布时间】:2016-10-01 11:29:58
【问题描述】:

我需要在python中将日期时间转换为不带秒的日期,如何执行:

from datetime import datetime
dt = datetime.strptime('2016-06-01 16:05:20', '%Y-%m-%d').date()
print dt

结果:

Traceback (most recent call last):
  File "teste.py", line 5, in <module>
    dt = datetime.strptime('2016-06-01 16:05:20', '%Y-%m-%d').date()
  File "/usr/lib/python2.7/_strptime.py", line 328, in _strptime
    data_string[found.end():])
ValueError: unconverted data remains:  16:05:20

我什么都试过了
可以帮忙吗?

【问题讨论】:

  • “我什么都试过了” - 那么你尝试了什么?从广义上讲,要么: 1. 仅提取日期部分然后解析它;或者2.解析整个事情然后调用.date()来丢弃时间。
  • @BakriBitar 那里的答案只是说使用.date(),他已经在这样做了。他的问题在于解析。
  • 非常感谢!

标签: python datetime strptime


【解决方案1】:

即使您要丢弃时间,您仍然需要将它包含在您的格式字符串中,因为它存在于您正在解析的字符串中。 strptime() 不知道你不关心时间,它只需要将输入与格式字符串进行匹配即可。

dt = datetime.strptime('2016-06-01 16:05:20', '%Y-%m-%d %H:%M:%S').date()

【讨论】:

  • pedido_data = datetime.datetime.strptime(pedido_data, '%Y-%m-%d %H:%M:%S').date() TypeError: must be string, not datetime.datetime
  • pedido_data的值是多少?
  • 它应该是一个类似'2016-06-01 16:05:20'的字符串,但是那个错误表明它已经是一个datetime
  • 已经是mysql中存储的日期时间了,但是需要去掉第二个
  • 您想删除第二个,但留下小时和分钟?
猜你喜欢
  • 2017-12-21
  • 1970-01-01
  • 2010-12-28
  • 1970-01-01
  • 2015-01-30
  • 2012-09-17
  • 2018-11-21
  • 2014-11-01
相关资源
最近更新 更多