<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                最近經常需要用Python計算時間日期,如:計算兩個日期間的日期列表,函數如下: ``` from datetime import datetime,timedelta def get_date_among_two_date(start_date,end_date): a_day = timedelta(days=1) res = [] while start_date <= end_date: res.append(start_date) start_date += a_day return res ``` 后來了解到了`dateutil`庫,發現用`dateutil`庫實現更為簡單,實現如下: ``` from dateutil.rrule import * def get_date_among_two_date(start_date,end_date): return list(rrule(DAILY,dtstart=start_date,until=end_date)) ``` --- ### `dateutil`用法 #### `relativedelta`(時間偏移) 例: ``` from datetime import datetime; from dateutil.relativedelta import relativedelta #計算指定日期與現在的差值 now_date = datetime.now() relativedelta(datetime(2003, 10, 24, 10, 0), now_date) ''' 結果:relativedelta(years=-14, months=-1, days=-15, hours=-5, minutes=-33, seconds=-38, microseconds=+866005) ''' #計算下個月的今天 datetime.today()+relativelta(months=+1) ``` --- #### `parser`(根據字符串解析成datetime) 例: ``` from dateutil import parser parser.parse("2003-09-25T10:49:41") parser.parse("20030925T104941") #fuzzy開啟模糊匹配,過濾掉無法識別的時間日期字符 parse("this is 12:00:00",fuzzy=True) ''' fuzzy_with_tokens開啟模糊匹配,返回一個元組 其中第一個元素是已解析的datetime 第二個元素是一個包含被忽略的字符串的部分的元組 ''' parse('this is 12:00:00',fuzzy_with_tokens =True) ``` --- #### `rrule`(根據定義的規則來生成datetime) >class dateutil.rrule.rrule(freq, dtstart=None, interval=1, wkst=None, count=None, until=None, bysetpos=None, bymonth=None, bymonthday=None, byyearday=None, byeaster=None, byweekno=None, byweekday=None, byhour=None, byminute=None, bysecond=None, cache=False) freq --- 時間單位。可以是 YEARLY, MONTHLY, WEEKLY, DAILY,HOURLY, MINUTELY, SECONDLY。即年月日周時分秒。 dtstart --- 開始時間 until --- 結束時間 wkst --- 周開始時間。 interval --- 間隔。 count --- 指定生成多少個。 by*** --- 指定匹配的周期。比如byweekday=(MO,TU)則只有周一周二的匹配。byweekday可以指定MO,TU,WE,TH,FR,SA,SU。即周一到周日。 例: ``` from dateutil.rrule import * #計算兩日期之間的日期,間隔為3 list(rrule(DAILY,interval=3,dtstart=parse('2017-12-01'),until=parse('2017-12-24'))) #計算兩日期之間的日期,返回前三個 list(rrule(DAILY,count=3,dtstart=parse('2017-12-01'))) #計算兩日期之間的周六周天的日期 list(rrule(DAILY,byweekday=(SA,SU),dtstart=parse('2017-12-01'),until=parse('2018-02-24'))) #按月為單位 list(rrule(MONTHLY,dtstart=parse('2017-05-19'),until=parse('2017-12-20'))) ``` --- #### [`dateutil`文檔地址](http://dateutil.readthedocs.io/)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看