调用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中时间的减法问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)