将utc时间添加到python文件名
如何以UTC时间(小时和分钟的祖鲁风格:0100Z)获取当前时间,并将其添加到字符串中,以便连接它 这使我无法连接字符串:将utc时间添加到python文件名,python,string,datetime,Python,String,Datetime,如何以UTC时间(小时和分钟的祖鲁风格: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_
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'
提前感谢您想做的可能是:
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对象
编辑:使用
%s
而不是+
,谢谢Danilo Bargen您需要将utc\u 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
>>>
您当前正在计算一个值并丢弃字符串结果。datetime对象的strftime
方法只返回一个值,但不操作原始对象。您需要将结果保存到变量本身或新变量中
import datetime
utc_datetime = datetime.datetime.utcnow().strftime("%Y-%m-%d-%H%MZ")
utc_datetime //Result: '2011-12-12-0939Z'
此外,您不应该使用+
来连接多个字符串,因为。改用这个:
filename = '/directory/prefix_%s.txt' % utc_datetime
由于性能原因,不应使用+
连接多个字符串。改为使用filename='/directory/prefix_u%s.txt'%datetime.datetime.utcnow().strftime(“%Y-%m-%d-%H%MZ”)
。