shell, python中比較兩個日期的先後

2021-06-01 17:34:50 字數 1231 閱讀 6182

在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.   輸入的時間格式必須跟自己的格式化串保持一致.

有試過 from datetim import datetime,time , 但是沒有成功,暫時沒有考慮去解決.

shell指令碼中比較

二元比較操作符,比較變數或者比較數字.注意數字與字串的區別.整數比較 eq 等於,如 if a eq b ne 不等於,如 if a ne b gt 大於,如 if a gt b ge 大於等於,如 if a ge b lt 小於,如 if a lt b le 小於等於,如 if a le b 小於...

JavaScript中「 」比較規則

1 js中有6個值為false,分別是 0,或者雙引號 null,undefined,nan,false console.log new boolean false false true console.log new boolean true true true 另外,js中有boolean物件,...

java中比較兩個日期的先後

string begintime new string 2014 08 15 10 22 22 string endtime new string 2014 09 02 11 22 22 1.把字串型別的日期資料轉化成長整型,然後比較大小。如果日期格式有時分秒,則 寫成 s if long.valu...