草庐IT

timedeltas

全部标签

python - 如何从一个简单的字符串构造一个 timedelta 对象

我正在编写一个需要将字符串解析为timedelta的函数。用户必须输入类似"32m"或"2h32m",甚至"4:13"或"5hr34m56s"...是否有一个库或已经实现了这种东西的东西? 最佳答案 对我来说是最优雅的解决方案,无需求助于dateutil等外部库或者手动解析输入,就是使用datetime's强大的strptime字符串解析方法。fromdatetimeimportdatetime,timedelta#wespecifytheinputandtheformat...t=datetime.strptime("05:20:

python - 如何从一个简单的字符串构造一个 timedelta 对象

我正在编写一个需要将字符串解析为timedelta的函数。用户必须输入类似"32m"或"2h32m",甚至"4:13"或"5hr34m56s"...是否有一个库或已经实现了这种东西的东西? 最佳答案 对我来说是最优雅的解决方案,无需求助于dateutil等外部库或者手动解析输入,就是使用datetime's强大的strptime字符串解析方法。fromdatetimeimportdatetime,timedelta#wespecifytheinputandtheformat...t=datetime.strptime("05:20:

python - 将 timedelta 转换为年?

我需要检查自某个日期以来是否已经过了几年。目前我从datetime模块获得了timedelta,但我不知道如何将其转换为年份。 最佳答案 您需要的不仅仅是一个timedelta来说明已经过去了多少年;您还需要知道开始(或结束)日期。(这是闰年的事情。)最好的办法是使用dateutil.relativedeltaobject,但这是第3方模块。如果您想知道距离某个日期(默认为现在)已经n年的datetime,您可以执行以下操作::fromdateutil.relativedeltaimportrelativedeltadefyears

python - 将 timedelta 转换为年?

我需要检查自某个日期以来是否已经过了几年。目前我从datetime模块获得了timedelta,但我不知道如何将其转换为年份。 最佳答案 您需要的不仅仅是一个timedelta来说明已经过去了多少年;您还需要知道开始(或结束)日期。(这是闰年的事情。)最好的办法是使用dateutil.relativedeltaobject,但这是第3方模块。如果您想知道距离某个日期(默认为现在)已经n年的datetime,您可以执行以下操作::fromdateutil.relativedeltaimportrelativedeltadefyears

python - numpy 和 pandas timedelta 错误

在Python中,我有一个使用pandas生成(或从CSV文件中读取)的日期数组,我想为每个日期添加一年。我可以使用pandas但不能使用numpy来让它工作。我究竟做错了什么?还是pandas或numpy中的错误?谢谢!importnumpyasnpimportpandasaspdfrompandas.tseries.offsetsimportDateOffset#Generaterangeofdatesusingpandas.dates=pd.date_range('1980-01-01','2015-01-01')#Addoneyearusingpandas.dates2=dat

python - 将 python datetime.timedelta 转换为 dateutil.relativedelta 的优雅方法

relativedelta和timedelta之间是否有优雅的转换方式?用例是获取用户输入的ISO日期。Python的isodate将返回isodate.duration.Duration或datetime.timedelta。我们需要relativedelta的功能(根据Whatisthedifferencebetween"datetime.timedelta"and"dateutil.relativedelta.relativedelta"whenworkingonlywithdays?--它做的更多)所以需要将这两种类型转换为relativedata。

减法时的 Python timedelta 行为

当我遇到(anotherthread)关于Python的datetime和timedelta对象时,这个问题就产生了。我关注了jimgardener的更新并阅读了eyquem的评论,并尝试了一些python代码..我很难理解这里的工作方式(由于我是python新手)..我认为问一个新问题是合适的importdatetime#fort1=23:30:00PMt1=datetime.time(23,30,00)#fort1=00:15:30AMt2=datetime.time(0,15,30)td1=datetime.timedelta(hours=t1.hour,minutes=t1.m

python - 在 python 2.7 中将包含 datetime.timedelta 的 numpy 数组转换为秒的优雅方法

我有一个名为dt的numpy数组。每个元素都是datetime.timedelta类型。例如:>>>dt[0]datetime.timedelta(0,1,36000)如何将dt转换为仅包含秒数而不循环的数组dt_sec?我目前的解决方案(可行,但我不喜欢)是:dt_sec=zeros((len(dt),1))foriinrange(0,len(dt),1):dt_sec[i]=dt[i].total_seconds()我尝试使用dt.total_seconds()但当然没有用。关于如何避免此循环的任何想法?谢谢 最佳答案 impo

python - Timedelta 未定义

下面是我正在处理的代码。据我所知,没有问题,但是当我尝试运行这段代码时,我收到了一个错误。importosimportdatetimedefparseOptions():importoptparseparser=optparse.OptionParser(usage='-h')parser.add_option('-t','--type',\choices=('Warning','Error','Information','All'),\help='Thetypeoferror',default='Warning')parser.add_option('-g','--goback',\

python - 从 TimeDelta 到 Pandas 中的 float 天数

我有一个TimeDelta列,其值如下所示:2天21:54:00.000000000我想要一个代表天数的float,假设这里是2+21/24=2.875,忽略分钟。有没有简单的方法可以做到这一点?我看到一个答案建议res['Ecart_lacher_collecte'].apply(lambdax:float(x.item().days+x.item().hours/24.))但是我得到“AttributeError:'str'objecthasnoattribute'item'”Numpy版本是“1.10.4”Pandas版本为u'0.17.1'这些列最初是通过以下方式获得的:lac