玩玩Python 計算日期間隔

2021-08-19 17:19:05 字數 1746 閱讀 6645

python現在這麼火,聽說已經列入國家發展計畫了,小學生都開始學python了,我想自己也是一名it從業者,也不應該落後啊,所以從今年1月份開始斷斷續續在閱讀《利用python進行資料分析》這本書,雖然進度慢的堪憂,多少也快入門了。近期重新撿起來繼續讀,發現已經到了第10章,快終於要讀完了,一想這對我也算是歷史性的時刻啊,趕快記錄一下吧。

利用python進行資料分析第10章講述的是時間序列,關於日期和時間的模組的類庫是datetime,提供了date、time,還間距calendar的功能。本文就是針對時間進行的乙個小練習,編寫乙個能夠輸出兩個日期之間間隔天數的指令碼。

時間模組的名稱是datetime,提供了乙個datetime的方法,模組跟方法名相同,感覺還是挺繞的,估計習慣了就好。好在可以用簡寫,即模組名.方法名(datetime.datetime)可以簡寫為datetime,它以毫秒形式儲存日期和時間,這跟其他語言一致。同時它提供了乙個timedelta的方法,表示兩個datetime物件之間的時間差。

delta,就是上學時數學裡面的正三角δ,希臘字母。

寫乙個可以接收使用者輸入兩個日期、然後利用timedelta輸出這倆日期之間的天數間隔的指令碼。對輸入的日期進行正則校驗,不合法的輸入將不處理。

**如下:

from datetime import datetime

import re

now = datetime.now()

print 'now datetime is',now

print 'please input the start date such as 2011-6-24'.center(10,'-')

startdate = raw_input()

regex = '^\d-\d-\d'

prog = re.compile(regex)

#use regex to check the input ,if not match return none

while prog.match(startdate) == none :

print 'error start date,please try again.'

startdate = raw_input()

print 'please input the end date such as 2018-5-5'.center(10,'-')

enddate = raw_input()

while prog.match(enddate) == none :

print 'error end date,please try again.'

enddate = raw_input()

print 'your start date is :',startdate

print 'your end date is :',enddate

#datetime.timedelta to get the span of two time

delta = datetime.strptime(enddate,'%y-%m-%d')-datetime.strptime(startdate,'%y-%m-%d')

print 'the span day from',startdate,' to ',enddate,'is :',delta.days

簡單計算了一下改革開放開始至今的流逝時間,是14369天,約等於39年。

為什麼突然想起改革開放呢?上週看了乙個部名為《大時代》的電視劇集,背景就是改革開放初期,中國或網際網路的風雲,懷舊感慨一下!

java中計算日期間隔

專案需要計算乙個日期列表內所有漏掉的日期,因此,需要能判定 1.日期是否連續的 2.日期相差的天數 以上兩個問題,可以看做乙個,計算兩個日期相差的天數,計算方法如下 判斷日期2與日期1相差的天數 param d1 param d2 return public static long betweend...

c 日期間隔計算示例

複製 如下 計算日期的間隔 靜態類 public static class datetimediff catch endregion region 計算日期間隔 計算日期間隔 要參與計算的其中乙個日期 要參與計算的另乙個日期 乙個表示日期間隔的timespan型別 public static tim...

java日期間隔

calendar calendar calendar.getinstance calendar.settime new date long timethis calendar.gettimeinmillis calendar.settime new dateformat yyyy mm dd hh ...