怎么将python时间段(Timedelta)转化为int或float数值形式

怎么将python时间段(Timedelta)转化为int或float数值形式,第1张

调用delta的days属性即可得到int值

如:

data1=datetimedatetimestrptime("2019-01-12", "%Y-%m-%d")

data2=datetimedatetimestrptime("2019-03-12", "%Y-%m-%d")

delta=data2-data1

interval=deltadays

print(type(interval),interval)

结果如下:

使用date命令加上合适的时间格式化字符串(+%s),会显示当前时间(或-d参数指定的时间)与1970-01-01 00:00:00相差的秒数(详细可以参考date的man手册)

所以基本想法就是使用date命令分别获取当前时间与文件修改时间的秒数,然后看这2个秒数之间是否有相差180秒以上。

获取当前时间比较简单,直接date +%s就ok了

下面看看如何获取文件时间

使用stat 命令后面跟一个文件名可以获取文件的状态,包括文件修改时间。其中文件修改时间会单独一行显示,格式如下:Modify: 2013-02-21 17:58:05404876407 +0800 (具体的精度可能系统不同略微有些差别,但大致格式是这样)

所以我们可以stat myfilename | grep Modify来获取文件的修改时间的信息,然后通过awk分别获取时间的日期和时间段

stat myfilename | grep Modify | awk '{print $2}'  #这句获取了日期段,即上面例子里面的2013-02-21

stat myfilename | grep Modify | awk '{split($3,var,"");print var[1]}' #这句获取了时间段,即上面例子里面的17:58:05,具体关于awk的使用可以参考awk的使用手册

那么现在可以获取文件修改时间与1970-01-01 00:00:00相差的描述了,就是date -d "$file_date $file_time" +%s

那么这个时间与当前时间想减的结果与180相比就可以知道是否满足条件了,满足条件的话就可以执行相应的命令。

参考代码如下:

current_datetime=`date +%s`

filedate=`stat tttxt | grep Modify | awk '{print $2}'`

filetime=`stat tttxt | grep Modify | awk '{split($3,var,"");print var[1]}'`

file_datetime=`date -d "$filedate $filetime" +%s

timedelta=`expr $current_datetime - $file_datetime`

if [ "$timedelta" -gt "180" ];then

echo "match condition"

fi

python日期加减

Python 中日期类型是datetimedate

日期加减的结果,以及可以对日期相加减的类型是datetimetimedelta

timedelta = date1 - date2

date1 = date2 + timedelta

datetimetimedelta(days, seconds, microseconds)

d1 = datetimedatetoday()

加一天:

d2 = d1 + datetimetimedelta(1)

减一天:

d2 = d1 + datetimetimedelta(-1)

python 如何计算时间差

Python Tip]如何计算时间差

Q:如何方便的计算两个时间的差,如两个时间相差几天,几小时等

A:使用datetime模块可以很方便的解决这个问题,举例如下:

>>> import datetime

>>> d1 = datetimedatetime(2005, 2, 16)

>>> d2 = datetimedatetime(2004, 12, 31)

>>> (d1 – d2)days

47

上例演示了计算两个日期相差天数的计算。

import datetime

starttime = datetimedatetimenow()

#long running

endtime = datetimedatetimenow()

print (endtime – starttime)seconds

上例演示了计算运行时间的例子,以秒进行显示。

>>> d1 = datetimedatetimenow()

>>> d3 = d1 + datetimetimedelta(hours=10)

>>> d3ctime()

上例演示了计算当前时间向后10小时的时间。

其本上常用的类有:datetime和timedelta两个。它们之间可以相互加减。每个类都有一些方法和属性可以查看具体的值,如datetime可以查看:天数(day),小时数(hour),星期几(weekday())等;timedelta可以查看:天数(days),秒数(seconds)等。

是的。

python中的时间戳相减是微秒数,也就是千分之一秒。

时间戳字段在MySQL中经常使用到,比如需要记录一行数据创建的时间或修改的时间时,我们通常会使用时间戳即timestamp字段。

timestamp字段类型可存储时间类型数据,timestamp所能存储的时间范围为:'1970-01-0100:00:01.000000'到'2038-01-1903:14:07.999999'。

timestamp字段占用4个字节。在MySQL5.7版本,timestamp可以指定精度,即TIMESTAMP(fsp)中fsp可以指定一个介于0到6之间的可选值,以代表小数秒精度。值为0表示没有小数部分,如果省略,则默认精度为0。

扩展资料:

影响时间戳显示的参数主要有两个,分别是explicitdefaultsfortimestamp,timezone。

explicitdefaultsfor_timestamp参数决定MySQL服务端对timestamp列中的默认值和`NULL`值的不同处理方法。此变量自MySQL5.6.6版本引入,分为全局级别和会话级别,可动态更新,默认值为OFF。

在默认情况下,如果timestamp列没有显式的指明null属性,那么该列会被自动加上not null属性(而其他类型的列如果没有被显式的指定not null,那么是允许null值的)。

如果往这个列中插入null值,会自动的设置该列的值为current timestamp值。

参考资料:

百度百科-时间戳

以上就是关于怎么将python时间段(Timedelta)转化为int或float数值形式全部的内容,包括:怎么将python时间段(Timedelta)转化为int或float数值形式、Linux下用shell获取指定文件的最后修改时间并与系统时间比对,如果相差时间超过3分钟则执行另一个脚本、python中时间的减法问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10101083.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存