首页 > 解决方案 > 当python中的毫秒为零时如何将时间戳写入txt文件

问题描述

我正在从 DB/2 表中提取创建时间戳并将其写入 txt 文件以供以后处理。Python 会正确写入时间戳,除非毫秒为零。当毫秒为零时,它不会写入毫秒。我怎样才能让它写零毫秒?

import ibm_db
import datetime

sql = ("SELECT CRT_TS FROM TABLE_TIMEST WHERE DATE(CRT_TS) > '2018-01-01' WITH UR;")
stmt = ibm_db_exec_immediate(conn,sql)
fle = open("c:\Test\tstamps.txt","w+")
dictionary = ibm_db.fetch_both(stmt)
while dictionary != False

    fle.write(str(dictionary["CRT_TS"]))
    dictionary = ibm_db.fetch_both(stmt)

fle.close()

表上的时间戳是:

2018-06-12 18:50:55.125489
2018-06-12 18:57:52.000000
2018-06-12 18:58:42.152469

我希望在我的输出文件中得到相同的结果,而不是得到:

2018-06-12 18:50:55.125489
2018-06-12 18:57:52
2018-06-12 18:58:42.152469

如何让 python 在毫秒内写入零?

标签: pythontimestamp

解决方案


您的时间戳似乎已经是 datetime 对象,因此您只需使用他们自己的 strftime 方法:

fle.write(dictionary["CRT_TS"].strftime('%Y-%m-%d %H:%M:%S.%f'))


推荐阅读