舉例:理論上2.31與1.31相隔乙個月,但是2月並沒有31天。實際爬蟲過程中我們又必須將滿足「2.31」這一天的資料推到mq爬取,那麼該怎麼控制最好呢?
如上述,2月沒有31號,那麼我們在二月份的極限能取到幾號?我們只能取到2.28或2.29。那我們是不是能理解成乙個特定的時間點(如:1.31),它在下個月對應的時間與其差距最多為2月最大天數(28或29)。
綜上我們可以總結為:某個時間戳(x)在下個月對應的時間戳(y)為該時間戳(x)+下個月最大天數(z),y=x+z
import time
import datetime
defget_date_p
(time_stamp)
:"""
獲取格式為2020-02-28,型別為datetime.datetime的資料
:param time_stamp: 時間戳
:return:
"""time_array = time.localtime(time_stamp)
other_style_time = time.strftime(
"%y-%m-%d %h:%m:%s"
, time_array)
date_time_p = datetime.datetime.strptime(other_style_time,
'%y-%m-%d %h:%m:%s'
) date_p = date_time_p.date(
)return date_p
defget_month_days
(time_stamp)
:"""
獲取該月有幾天
:param time_stamp: 時間戳
:return:
"""current_time = get_date_p(time_stamp)
current_month_first_day = datetime.datetime(current_time.year, current_time.month,1)
current_month_last_day = datetime.datetime(current_time.year, current_time.month +1,
1)current_month_days =
(current_month_last_day - current_month_first_day)
.days
return current_month_days
defone_month_currently
(last_time, current_time)
:"""
計算兩個時間戳是夠相隔乙個月
:param last_time: 上乙個月的時間戳
:param current_time: 當前時間戳
:return: true:相差乙個月,false:無
"""month_days = get_month_days(current_time)
last_time_date = get_date_p(last_time)
current_time_data = get_date_p(current_time)
days =
(current_time_data - last_time_date)
.days
if days >= month_days:
print
("ok"
)return
true
else
:print
("no"
)return
false
one_month_currently(
1577845071
,1582856271
)
Java判斷兩個Date 時間戳 物件是否是同一天
最近有個需求是判斷在建立新物件的今天之前已經建立了這個物件,如果是昨天建立的,則正常 通過calendar來獲取date物件的年份和在該年份中第幾天,然後比較這兩個資訊來判斷是不是同一天 dateformat format new dateformat yyyy mm dd hh mm ss dat...
python判斷兩個時間大小
coding utf 8 from datetime import datetime 日期格式話模版 format pattern y m d h m s 具體日期 年 月 日 時 分 秒 start date 2018 07 09 13 20 38 end date datetime.now pr...
判斷兩個線段是否相交
html xmlns lang en charset utf 8 判斷兩個線段是否相交問題title rel stylesheet href css reset.css rel stylesheet href css style.css head class wrap 判斷兩個線段是否相交h2 br...