【问题标题】:How get just the "time" part from a datetime.strptime object python如何从 datetime.strptime 对象 python 中获取“时间”部分
【发布时间】:2017-04-06 22:59:14
【问题描述】:

我有这样的数据:“2016-10-17 09:34:02”,格式为:“%Y-%m-%d %H:%M:%S”,我使用:from datetime import datetime

我的变量是这样的:

date_object = datetime.strptime(datetemp, format)

到目前为止,一切都很好......

但我只需要从这个对象(date_object)中获取时间部分来进行一些比较......

当我这样做时:

print(date_object.time)

我收到以下错误:

built-in method time of datetime.datetime object at 0x00A94AE8

我怎样才能从对象date_object 中获取时间部分?这将允许我在每小时范围内进行比较。

【问题讨论】:

    标签: python datetime time strptime


    【解决方案1】:

    您需要在print(date_object.time) 调用中添加括号()

    print(date_object.time())
    

    示例输出:

    >>> import datetime
    >>> now = datetime.datetime.now()
    >>> now.time()
    datetime.time(22, 14, 6, 996000)
    >>> print(now.time())
    22:14:06.996000
    

    【讨论】:

      【解决方案2】:
      >>> import datetime as dt 
      >>> timenow = dt.datetime.now()
      >>> timenow
      datetime.datetime(2016, 11, 23, 9, 59, 54, 291083)
      >>> timenow.date()
      datetime.date(2016, 11, 23)
      >>> timenow.time()
      datetime.time(9, 59, 54, 291083)
      

      输出为日期时间类型。

      >>> print(datetime.time())
      00:00:00
      

      或者你可以将其转换为字符串并打印

      >>> time_str = str(timenow.time())
      >>> time_str
      '09:59:54.291083'
      

      【讨论】:

        【解决方案3】:

        date_object.time().__str__() 这将为您提供所需的格式

        date_object.time().__str__() is equal to `print(date_object.time())`
        

        但您可以将其存储在 var 中,而不仅仅是在屏幕上打印。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-08-25
          • 1970-01-01
          • 2021-10-21
          • 1970-01-01
          相关资源
          最近更新 更多