shell, python中比较两个日期的先后

 

Shell中我们可以利用date命令比较两个日期的大小,方法是先把日期转换成时间戳格式,再进行比较。

date 的+%s可以将日期转换成时间戳格式,看下面的例子:

#!/bin/bash 

date1="2008-4-09 12:00:00"

date2="2008-4-10 15:00:00"

date3="Aug 17 16:47:53 2011"

t1=`date -d "$date1" +%s` 

t2=`date -d "$date2" +%s` 

t3= date -d "$date3" +%s  

if [ $t1 > $t2 ]; then

    echo "$date1 > $date2"

elif [ $t1 = $t2 ]; then

    echo "$date1 == $date2"

else [$t1 < $t3]; then

    echo  $date1 < $date3"

fi

# 多种输入格式都支持.

 

下面介绍下python中比较两个日期大小的脚本.

在实际工作中用到,以供后续参考及备忘

时间区间比较函数

import time

# 这里比较l_time 是否在时间区间[start_t, end_t]中

def compare_time(l_time,start_t,end_t):

    s_time = time.mktime(time.strptime(start_t,'%Y%m%d%H%M')) # get the seconds for specify date

    e_time = time.mktime(time.strptime(end_t,'%Y%m%d%H%M'))

    log_time = time.mktime(time.strptime(l_time,'%Y-%m-%d %H:%M:%S'))

   

    if (float(log_time) >= float(s_time)) and (float(log_time) <= float(e_time)):

        return True

    return False

 

# 在用mktime时,注意import time 模块,否则会提示找不到改attribute.   输入的时间格式必须跟自己的格式化串保持一致.

如时间: "2011-11-10 14:56:58"  定义格式串时应该为: "%Y-%m-%d %H:%M:%S"

 

有试过 from datetim import datetime,time , 但是没有成功,暂时没有考虑去解决.

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值