【问题标题】:datetime.time() inserted in strftimedatetime.time() 插入 strftime
【发布时间】:2018-02-14 17:50:28
【问题描述】:

我想知道是否有人可以解释为什么我的 strftime 返回我没有要求的元素:

def CurrentTime():
    import datetime as dt
    myTime = dt.datetime.today().time()  
    print(myTime, type(myTime))
    strFromTime =  myTime.strftime("%I:%M %r")
    return strFromTime, type(strFromTime)
CurrentTime()

10:40:54.160337 , 'datetime.time'>

('10:40 10:40:54 AM', str)

【问题讨论】:

  • %r 做了10:40:54 AM,怎么了?也许您正在尝试这样做:"%I:%M %p"。请参阅文档:docs.python.org/3.6/library/…
  • 我相信您正在寻找 %p
  • 另外注意:在python中的库应该在脚本的开头导入。在这种情况下,您应该将 import datetime as dt 移动。

标签: python strftime


【解决方案1】:

我将写下我将如何简化这一点,see docs 了解更多信息。

import datetime as dt

def CurrentTime():
    # Returns time in format %I:%M %p, e.g. '06:59 PM'
    myTime = dt.datetime.now().strftime("%I:%M %p")
    return myTime

print(CurrentTime())

【讨论】:

  • 谢谢。我必须查看不同的表或误读才能获得 %r 说明符。似乎只是使用“%r”会导致:'11:23:21 AM',这很有趣。我在这里找到了完整列表:man7.org/linux/man-pages/man3/strftime.3.html
  • @TASCSolutions 很高兴它成功了。我也链接到列表(Python 文档)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-17
  • 1970-01-01
  • 1970-01-01
  • 2015-09-18
相关资源
最近更新 更多