如何计算我的不和谐成员的时间



我目前正在尝试计算我的不和的活跃成员的时间与不和机器人在python。我将成员的名称和时间增量写入文件。我的问题是如何从文件中读取这个时间增量?我知道那个约会时间。Datetime有strptime方法,但是Datetime .timedelta没有。除了切片并将其作为参数传递给timedelta构造函数之外,还有什么想法吗?

for a in self.members:
if not a.bot:
self.member_timers[a.name] = {}
self.member_timers[a.name]['Time'] = None
self.member_timers[a.name]['Stop'] = None
self.member_timers[a.name]['Start'] = None
self.read()
def read(self):
lines = []
with open(f'logi', 'r') as f:
lines = f.readlines()
f.close()
print(lines)
line = lines[0].split()

def write(self):
with open(f'logi', 'w') as f:
for mem in self.members:
if not mem.bot and self.member_timers[mem.name]['Time'] != None:
f.write("{} {}n".format(mem.name, self.member_timers[mem.name]['Time']))
def start_timer(self, member):
if self.member_timers[member.name]['Start'] == None:
self.member_timers[member.name]['Start'] = datetime.datetime.now()
else:
#policz mu czas zeby nie stracic
self.count_time(member.name)
self.member_timers[member.name]['Start'] = datetime.datetime.now()
pass
def stop_timer(self, member):
if self.member_timers[member.name]['Start'] != None:
self.member_timers[member.name]['Stop'] = datetime.datetime.now()
self.count_time(member.name)
def count_time(self, name):
if self.member_timers[name]['Start'] != None and self.member_timers[name]['Stop'] != None:
if self.member_timers[name]['Time'] == None:
self.member_timers[name]['Time'] = self.member_timers[name]['Stop'] - self.member_timers[name]['Start']
else:
self.member_timers[name]['Time'] += self.member_timers[name]['Stop'] - self.member_timers[name]['Start']
self.member_timers[name]['Start'] = None
self.member_timers[name]['Stop'] = None

所以当我从文件中读取时,我想为成员创建timedelta对象,这样我就可以稍后比较它是否比我分配的任何角色timedelta大。

我认为你应该考虑存储时间戳而不是存储timedelta对象。

你可以使用ts = datetime.datetime.timestamp(datetime.datetime.now())获得一个浮点数(如果你只对秒感兴趣,你可以将其转换为int),并将其存储在字典中。

要读取它,您可以使用datetime.datetime.fromtimestamp(ts),这将给您一个datetime.datetime对象,对应于您在上面创建的时间戳

引用:

https://docs.python.org/3/library/datetime.html?highlight=timestamp datetime.datetime.timestamphttps://docs.python.org/3/library/datetime.html?highlight=fromtimestamp datetime.datetime.fromtimestamp

最新更新