【问题标题】:Add utc time to filename python将UTC时间添加到文件名python
【发布时间】:2011-12-12 09:44:50
【问题描述】:

如何获取 UTC 时间的当前时间(Zulu 风格的小时和分钟:0100Z),并将其添加到字符串中以便我可以连接它

这让我无法连接字符串:

import datetime
utc_datetime = datetime.datetime.utcnow()
utc_datetime.strftime("%Y-%m-%d-%H%MZ") //Result: '2011-12-12-0939Z'
filename = '/SomeDirectory/AnotherDirectory/FilePrefix_'+utc_datetime+'.txt'

这给了我另一个文件名字符串:

//返回:/SomeDirectory/AnotherDirectory/FilePrefix_2011-12-12 09:42:15.374022.txt

import datetime
utc_datetime = datetime.datetime.utcnow()
utc_datetime.strftime("%Y-%m-%d-%H%MZ") //Result: '2011-12-12-0939Z'
filename = '/SomeDirectory/AnotherDirectory/FilePrefix_'+str(utc_datetime)+'.txt' 

提前致谢

【问题讨论】:

    标签: python string datetime


    【解决方案1】:

    你想做的大概是:

    import datetime
    utc_datetime = datetime.datetime.utcnow()
    formated_string = utc_datetime.strftime("%Y-%m-%d-%H%MZ") //Result: '2011-12-12-0939Z'
    filename = '/SomeDirectory/AnotherDirectory/FilePrefix_%s.txt'% formated_string
    

    或以单线方式:

    filename = '/SomeDirectory/AnotherDirectory/FilePrefix_%s.txt'%datetime.datetime.utcnow().strftime("%Y-%m-%d-%H%MZ")
    

    当使用datetime.strftime时,它会返回你需要的格式的字符串,它不会修改日期时间对象。

    编辑:使用 %s 而不是 +,感谢 Danilo Bargen

    【讨论】:

    • 出于性能原因,您不应使用+ 连接多个字符串。请改用filename = '/directory/prefix_%s.txt' % datetime.datetime.utcnow().strftime("%Y-%m-%d-%H%MZ")。
    【解决方案2】:

    日期时间对象的strftime 方法只返回一个值,但不操作原始对象。您需要将结果保存到变量本身或新变量中。

    import datetime
    utc_datetime = datetime.datetime.utcnow().strftime("%Y-%m-%d-%H%MZ")
    utc_datetime //Result: '2011-12-12-0939Z'
    

    此外,由于performance reasons,您不应该使用+ 连接多个字符串。改用这个:

    filename = '/directory/prefix_%s.txt' % utc_datetime
    

    【讨论】:

      【解决方案3】:

      你需要将utc_datetime.strftime()的结果保存到一个变量中:

      >>> import datetime
      >>> utc_datetime = datetime.datetime.utcnow()
      >>> s=utc_datetime.strftime("%Y-%m-%d-%H%MZ")
      >>> filename = '/SomeDirectory/AnotherDirectory/FilePrefix_' + s + '.txt'
      >>> print filename
      /SomeDirectory/AnotherDirectory/FilePrefix_2011-12-12-0946Z.txt
      >>> 
      

      您当前正在计算一个值并丢弃字符串结果。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多