【问题标题】:How to get UTC timestamp in Python WITH ALL DIGITS如何在 Python 中使用所有数字获取 UTC 时间戳
【发布时间】:2019-11-09 09:36:03
【问题描述】:

我在我的 Python 脚本中使用它

datetime.datetime.utcnow().isoformat()

为了每 5 秒打印一次时间戳(以及功率值)。我想稍后使用时间戳和功率值在 Power BI 中创建图表。问题是有时打印的时间戳是这样的(也见错误)

DataFormat.Error: The provided input could not be analyzed as a DateTime value.
Details
    2019-6-16T20:58:5.488

问题是秒是5.488 而不是05.488

我还没有在 Power BI 中找到解决方案,所以我想也许有一种方法可以从一开始就在 Python 脚本中像这样打印它

2019-6-16T20:58:05.488

有什么想法吗?

【问题讨论】:

    标签: python timestamp powerbi utc


    【解决方案1】:

    您可以使用.strftime 自行设置格式。

    试试这个:

    import datetime
    
    print(datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S.%f"))
    

    输出:

    2019-06-27T11:18:03.663386

    【讨论】:

    • 等等,我有点困惑,根据docs,isoformat 应该给出这个...
    • 他希望它具有毫秒精度,而不是微秒
    • @Adam.Er8 你是对的,它应该是这样的。出于某种原因,有时它是正确的,有时我错过了 0。我将使用您的解决方案进行测试,希望它有效。谢谢!
    【解决方案2】:

    你可以通过像这样格式化日期时间字符串来做到这一点:

    说你现在是时候了

    import datetime as dt
    
    cur_time = dt.datetime.now()
    
    print(print(str(cur_time).replace(' ','T')[:-3])
    

    这会产生:

    2019-06-27T14:21:10.853
    

    【讨论】:

      【解决方案3】:

      使用 strptime() 代替 isoformat() dt = datetime.datetime.strftime("21/11/06 16:30.1321", "%d/%m/%y %H:%M.%ffffff") 在你的情况下,像 dt = datetime.datatime.strptime(datetime.datetime.utcnow(), "%d/%m/%y %H:%M.%f")

      这里有关于格式化的数据时间代码:https://www.programiz.com/python-programming/datetime/strftime

      【讨论】:

        猜你喜欢
        • 2019-06-05
        • 1970-01-01
        • 2012-04-03
        • 2017-12-06
        • 2012-05-29
        • 1970-01-01
        • 2014-11-21
        • 2015-01-08
        • 2014-03-31
        相关资源
        最近更新 更多