如何在Python中创建时间戳变量?

如何在Python中创建时间戳变量?,python,datetime,logging,timestamp,Python,Datetime,Logging,Timestamp,我试图创建一个timestamp变量,它实际存储当前时间并在该实例中输出时间。还包括可复制代码: import time from datetime import datetime t = datetime.now().strftime('%Y-%m-%d %H:%M:%S') for i in range(5): time.sleep(2) print t 输出 2015-03-11 11:28:53 2015-03-11 11:28:53 2015-03-11 11:28:

我试图创建一个timestamp变量,它实际存储当前时间并在该实例中输出时间。还包括可复制代码:

import time
from datetime import datetime
t = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
for i in range(5):
    time.sleep(2)
    print t
输出

2015-03-11 11:28:53
2015-03-11 11:28:53
2015-03-11 11:28:53
2015-03-11 11:28:53
2015-03-11 11:28:53
2015-03-11 11:28:53
2015-03-11 11:28:55
2015-03-11 11:28:57
2015-03-11 11:28:59
2015-03-11 11:29:01
所需输出

2015-03-11 11:28:53
2015-03-11 11:28:53
2015-03-11 11:28:53
2015-03-11 11:28:53
2015-03-11 11:28:53
2015-03-11 11:28:53
2015-03-11 11:28:55
2015-03-11 11:28:57
2015-03-11 11:28:59
2015-03-11 11:29:01
有没有简单的方法来代替命令

datetime.now().strftime('%Y-%m-%d %H:%M:%S')

在代码中多次。

t=…
行移动到
for
循环中,和/或将其压缩到
print
语句中,和/或将其包装到单独的函数中,然后在
for
循环中调用该函数


如果您要在代码中的其他地方使用它,那么后者将是一种最佳实践方式。这意味着您只需在代码中的一个位置更改格式或时间调用。

如果需要在不同时刻捕获当前时间,则必须调用
datetime.now()

如果您觉得调用过于冗长而无法重复,请将其放入函数中:

def current_time():
    return datetime.now().strftime('%Y-%m-%d %H:%M:%S')
那么就称之为:

for i in range(5):
    time.sleep(2)
    print current_time()

为什么字符串对象会在循环中更新自身?为什么不直接在循环本身中使用
print datetime.now().strftime(“%Y-%m-%d%H:%m:%S”)
呢?如果你想在特定时刻捕获当前时间,你必须调用
datetime.now()
来测量当前时间。我必须在多个位置使用它,使代码看起来非常混乱。然后将其放入调用的函数中。函数调用和函数输出之间不会有时间差吗?