每天學點Python Cookbook(四)

2021-09-13 18:44:58 字數 1374 閱讀 2114

任務:

尋找上乙個星期五的日期。

解決方案:

通過python標準庫的datetime模組,可以快速完成此任務。

import datetime, calendar

def find_last_friday():

last_friday = datetime.date.today()

oneday = datetime.timedelta(days=1)

while last_friday.weekday() != calendar.friday:

last_friday -= oneday

print(last_friday)

測試結果:

任務:

給定兩個日期,計算這兩個日期之間隔了幾天。

解決方案:

def calc_date_time(start_time,end_time):

count = 0

oneday = datetime.timedelta(days=1)

start_time = datetime.datetime.strptime(start_time,'%y-%m-%d')

end_time = datetime.datetime.strptime(end_time,'%y-%m-%d')

while start_time != end_time:

start_time += oneday

count += 1

return count

測試用例:

if __name__ == '__main__':

# find_last_friday()

start_time = '2018-05-07'

end_time = '2018-06-01'

print(calc_date_time(start_time,end_time))

測試結果:

討論:

此實現方法有乙個bug,沒法實現一年以上的計算會造成越界錯誤。此方法也有諸多限制,時間格式是固定的,計算量大時效率很低。

每天學點Linux

1.程序檢視刪除 ps 檢視當前正在執行的程序資訊,aux顯示所有狀態。可以確定哪些程序正在執行 執行狀態 程序是否結束 程序有沒有僵死 程序占用資源情況。eg ps aux grep tomcat kill終止程序,9強迫程序立刻終止 eg kill 9 pid killall 9 程序名 2.統...

每天學點jQuery 六

1 獲取父節點 parent 2 獲取子節點 children 3 獲取兄弟節點 siblings 5 獲取前乙個節點 prev 另外我們有乙個測試方法,就是通過獲取節點的長度來判斷我們獲取的是否是需要的,獲取檢視獲取到節點的html來驗證獲取的節點是否是正確的,那這裡就用到了乙個屬性和乙個方法 l...

每天學點GDB(二)

預設情況下,日誌是沒有開啟的,所有的除錯資訊都會在螢幕中顯示,即預設是輸出到stdout中的。那麼有沒有可能將輸出到螢幕中的內容儲存到檔案裡呢。答案自然是肯定的,這裡面有個地方遇要注意一下子,具體會在下面的示例中提及。將日誌檔案開啟,不指定檔名的話,預設的檔名是gdb.txt。gdb set log...