【问题标题】:Convert datetime to time in python在python中将日期时间转换为时间
【发布时间】:2017-07-23 07:37:02
【问题描述】:

我有:

test_date = "2017-07-20-10-30"

然后使用:

day = datetime.strptime(test_date[11:], "%H-%M") ,这给了我 1900-01-01 10:30:00.

我如何才能得到:10:30:00 作为类型 datetime.time

【问题讨论】:

标签: python


【解决方案1】:

您可以像这样使用datetime 对象的strftime 方法:

day.strftime('%H:%M')

更多信息在这里:https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior

好吧,我误会了。使用day.time() 获取time 对象。

【讨论】:

  • 但这会返回字符串。我仍然想要
  • 哦,用day.time()
  • 如果我有一个 Pandas 系列的 datetime 对象并且我想要时间怎么办?
  • 我想要上面的 matplotlib 图中仅时间刻度标签,这可以按照this answer 中的说明实现。
【解决方案2】:

您可以使用datetime.strptime 将字符串解析为datetime 对象,然后在其上调用.time() 以获取时间:

from datetime import datetime

strg = "2017-07-20-10-30"

dt = datetime.strptime(strg, '%Y-%m-%d-%H-%M')
tme = dt.time()
print(tme)  # 10:30:00

strftime() and strptime() Behavior 有据可查。

当然你也可以链接这些调用:

tme = datetime.strptime(strg, '%Y-%m-%d-%H-%M').time()

【讨论】:

    猜你喜欢
    • 2010-12-28
    • 2019-02-03
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 2012-08-03
    • 1970-01-01
    • 2018-11-21
    相关资源
    最近更新 更多