首页 > 编程知识 正文

sql截取时间的时分秒,年月日时分秒毫秒格式

时间:2023-05-04 03:45:09 阅读:28950 作者:2153

在日期字段中提取年月日,在timedelta中提取时分秒,在进行时间统计1业务需求2小时字段中提取年月日,在3timedelta中提取时分秒,进行时间统计

手动反爬行动物:原博地址

知识很难整理,请尊重劳动成果。 文章只刊登在CSDN网站上,其他网站会发现该博文属于未经作者许可的恶意信息

转载时,请注明出处。 谢谢你。

1业务需求在进行数据分析时,往往会面临时间处理的问题。 在某些情况下,需要直接从时间字段中提取年月日,在进行报告工作时,需要计算报告时间和完成时间的差分,统计时分秒。 因此,面对实际业务需求,对该问题进行梳理,并将结果归纳如下图

2从时间字段中提取年月日的方法:将时间字段转换为datetime数据,提取year、month、day。 这里为了方便今后的业务需求,直接提供封装的函数,便于日后的调用。 如果您想了解更多信息,请查看不久前更新的项目示例。 时间序列特征分析摘要(以2012-2019年油罐车事故数据为例)。

efget_year_month_day(df,time_col ) : '''Extract the year,month, anddayofthetimefielddata ' ' df [ time _ col ]=PD.to _ datetime [ df [ time _ col ] ] df [ ' year ' ]=df [ time _ ] 首先导入到pandas中进行数据读取,然后进行时间处理时,时间处理的结果因pandas版本而异。 代码的执行结果如下

提取工作完成日期的年月日时,只需将data和完成日期这两个变量传递给函数,即可获得所需年月日的数据。 如下所示

该方式简单,无需任何操作,只需读取数据,将该数据的变量和提取年月日的字段变量填写到函数中直接调用即可,最后生成带年月日的数据

timedelta必须提取时分秒,进行时间聚合,或者根据实际场景业务的需要,提取报告时间和完成时间的差数据。 具体来说,到分秒为止,最后加上总时间的聚合。 以下一步一步整理说明

(1)首先构建完成时间的字段(完成日期+发生时间),并将报告时间和完成时间两个字段转化为datetime类型

由于完成时间字段由两个字段组成,因此将其合并为一个字段,并将其转换为datetime类型,以便于后续操作。 为了不破坏原始数据,通常命名新字段并使用英语组成。 结果如下(2)直接进行时间字段加减操作

以上英语命名是为了以下快捷方式操作。 可以智能地输入jupyter notebook。 直接输入data .后,按tab键可显示自动完成选项。 指定刚命名的变量就可以了。 这比第二种方式简单。 因为都是datetime数据类型,所以可以直接加减。 结果如下

接下来,我们来看看这个减法运算后的结果数据类型。 可以看到最终标记为timedelta数据类型

现在,让我们来看看这个数据类型经过时间转换器调用什么方法。 不是像调用第一个datetime数据类型一样直接调用year、month和day等方法吗? 毕竟,只有天大的方法,没有hours、minnutes等方法,好在有seconds的方法,可以通过计算求出hours、minnutes

那么,就直接进行函数封装吧。 试着注意外国人表示时间差的方法吧。 例如,外国人必须表示,下面输出的第3行和第197行的diff_time数据,明明相差1分钟,却到了-1天23小时59分钟。 我被他们的逻辑深深地震撼了,很佩服

简单的做法是根据seconds计算hours、minnutes。 最后需要的是用hours总结。 将存在时间差的时间以hours为基准,例如转换为30minutes,设为0.5hours。 1天20小时将是44小时。 还是一贯的原则,为了将来的方便

efextract_day_minute_second(df,time ) : '''Extract the day,hour,minuteandsecondofthetimedeltadata ' ' ' 3600 ) df('hours ' )=hoursminutes,seconds=divmod ) remainder, 60 ) df(minutes )=minutesdf(seconds ) (=secondsdf ) ) total_hour ) (=round ) ) (df ) () (days ) ) ) 输出结果如下

这样就完成了业务需求。 接下来进行total_hour字段数据的统计分析就可以了。 结束后,撒上花(((() ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。