本文将介绍如何在Python中获取timedelta的总时数和分钟数的详细情况,特别是关于python获取timestamp的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主
本文将介绍如何在Python中获取timedelta的总时数和分钟数的详细情况,特别是关于python获取timestamp的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于python datetime.timedelta进入列表、python time + timedelta等效、python – datetime和timedelta、python – Timedelta没有定义的知识。
本文目录一览:- 如何在Python中获取timedelta的总时数和分钟数(python获取timestamp)
- python datetime.timedelta进入列表
- python time + timedelta等效
- python – datetime和timedelta
- python – Timedelta没有定义
如何在Python中获取timedelta的总时数和分钟数(python获取timestamp)
如何将大于24小时的timedelta返回或转换为包含总时数和分钟数(例如26:30)而不是“ 1 day,2:30”的对象?
python datetime.timedelta进入列表
就像我在评论中写道的那样,您必须转换datetime.timedelta对象:
import datetime
new_time = datetime.time(minute=7)
print(new_time)
# >> 00:07:00
print(type(new_time))
# >> <class 'datetime.time'>
new_time_list: list = [new_time]
print(new_time_list)
# >> ['00:07:00']
print(type(new_time_list[0]))
# >> <class 'datetime.time'>
new_time_list: list = [str(new_time)]
print(new_time_list)
# >> ['00:07:00']
print(type(new_time_list[0]))
# >> <class 'str'>
new_time_list = [new_time.isoformat()]
print(new_time_list)
# >> ['00:07:00']
print(type(new_time_list[0]))
# >> <class 'str'>
输入您的代码
from datetime import datetime
list_dt_obj: list = []
list_str: list = []
date_now = datetime.now()
now = date_now.strftime("%H:%M")
timeB = datetime.strptime(now,"%H:%M")
temps_arret_aller = ["00:00","00:07","00:14","00:21"]
for temp in temps_arret_aller:
timeA = datetime.strptime(temp,"%H:%M")
newTime = timeA - timeB
print(newTime) # print datetime.timedelta obj: output as string
list_dt_obj.append(newTime) # add datetime.timedelta obj
list_str.append(str(newTime)) # toString
print(list_dt_obj) # list of datetime.timedelta obj
print(list_str) # list of strings
# output:
# -1 day,10:19:00
# -1 day,10:26:00
# -1 day,10:33:00
# -1 day,10:40:00
# [datetime.timedelta(-1,37140),datetime.timedelta(-1,37560),37980),38400)]
# ['-1 day,10:19:00','-1 day,10:26:00',10:33:00',10:40:00']
,
打印项目时,将在该项目上调用.__str__()
。当您打印容器时,.__repr__()
会在容器中的每个项目上被调用。
import datetime
time_delta = datetime.timedelta(seconds=1000)
print(time_delta) # 0:16:40
print(time_delta.__str__()) # 0:16:40
print(time_delta.__repr__()) # datetime.timedelta(seconds=1000)
my_list = [time_delta,time_delta]
print(my_list) # [datetime.timedelta(seconds=1000),datetime.timedelta(seconds=1000)]
print([str(delta) for delta in my_list]) # ['0:16:40','0:16:40']
从最后一行可以看到,您可以手动调用容器中每个项目的str()
来获取所需的内容。
python time + timedelta等效
我正在尝试做这样的事情:
time() + timedelta(hours=1)
但是,Python不允许这样做,这显然是有充分理由的。
有没有人有一个简单的解决方法?
python – datetime和timedelta
我的时区是UTC 5.
所以,当我做datetime.datetime.Now()时,它给出:
2012-07-14 06:11:47.318000
#note its 6AM
我想从它减去5个小时,以便它等于datetime.datetime.utcNow()所以我做了:
import time
from datetime import datetime,timedelta
dt = datetime.Now() - timedelta(hours=time.timezone/60/60)
print dt
#gives 2012-07-14 11:11:47.319000
"""
Here 11 is not the PM its AM i double check it by doing
print dt.strftime('%H:%M:%s %p')
#gives 11:11:47 AM
"""
你看到它不是减去5小时而是在日期时间增加5小时?
我在这里做错了吗?
>>> import time
>>> time.timezone
-36000
在这里,我是UTC 10,所以你的代码变成了:
>>> from datetime import timedelta
>>> print timedelta(hours=time.timezone/60/60)
-1 day,14:00:00
python – Timedelta没有定义
import os import datetime def parSEOptions(): import optparse parser = optparse.OptionParser(usage= '-h') parser.add_option('-t','--type',\ choices= ('Warning','Error','information','All'),\ help= 'The type of error',default= 'Warning') parser.add_option('-g','--goback',\ type= 'string') (options,args) = parser.parse_args() return options options = parSEOptions() Now = datetime.datetime.Now() subtract = timedelta(hours=options.goback) difference = Now - subtract if options.type=='All' and options.goback==24: os.startfile('logfile.htm') else: print print 'Type =',options.type,print print 'Go Back =',options.goback,'hours' print difference.strftime("%H:%M:%s %a,%B %d %Y") print
错误如下:
Traceback (most recent call last): File "C:\Python27\Lib\SITE-P~1\PYTHON~2\pywin\framework\scriptutils.py",line 325,in RunScript exec codeObject in __main__.__dict__ File "C:\Users\user\Desktop\Python\python.py",line 19,in <module> subtract = timedelta(hours=options.goback) NameError: name 'timedelta' is not defined
任何帮助将不胜感激.
解决方法
from datetime import timedelta
要么:
subtract = datetime.timedelta(hours=options.goback)
此外,您的goback参数被定义为一个字符串,但是您将其传递给timedelta作为小时数.您需要将其转换为整数,或者更好地仍然将您的选项中的type参数设置为int.
今天关于如何在Python中获取timedelta的总时数和分钟数和python获取timestamp的分享就到这里,希望大家有所收获,若想了解更多关于python datetime.timedelta进入列表、python time + timedelta等效、python – datetime和timedelta、python – Timedelta没有定义等相关知识,可以在本站进行查询。
本文标签: