Python-Drittanbieter-Bibliothek-Dateutil

Erweitern und verbessern Sie die Funktionalität des Datetime-Moduls. Unterstützt Python 2.3+.

0 | 1 Installation

Zwei Methoden:

  easy_install : easy_install python-dateutil

  Pip-Online-Installation: pip install python-dateutil

0 | 1 Methode

1, analysieren 

Die Zeichenfolge kann beliebig sein, Sie können englische Wörter für Uhrzeit und Datum verwenden und Sie können Bindestriche, Kommas, Leerzeichen usw. als Trennzeichen verwenden.

Wenn die Uhrzeit nicht angegeben ist, ist der Standardwert 0 Uhr, wenn das Datum nicht angegeben ist, ist der Standardwert heute, und wenn das Jahr nicht angegeben ist, ist der Standardwert dieses Jahr.

>>> from dateutil.parser import parse  # 导入模块

>>> parse('November 1')  # 默认年份是系统年份
datetime.datetime(2018, 11, 1, 0, 0)

>>> parse('11/01')  # 任意格式
datetime.datetime(2018, 11, 1, 0, 0)

>>> parse('20181101165959')
datetime.datetime(2018, 11, 1, 16, 59, 59)

>> parse('2018-11-01')  # 注意日期为8位
datetime.datetime(2018, 11, 1, 0, 0)

>>> parse('16:59:59')  # 默认日期为系统日期 
datetime.datetime(2018, 11, 1, 16, 59, 59)

>>> parse('2020-10-1 10:30')  # 可以更改为你想在的日期  
datetime.datetime(2020, 10, 1, 10, 30)

# fuzzy开启模糊匹配,过滤掉无法识别的时间日期字符
>>> parse("this is the wonderful moment 16:59:59,I feel good",fuzzy=True)
datetime.datetime(2018, 11, 1, 16, 59, 59)

2, Regel

Der Funktionsprototyp lautet wie folgt:

rrule(self, 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)

In:

  • freq: kann als Einheit verstanden werden. Kann JÄHRLICH, MONATLICH, WÖCHENTLICH, TÄGLICH, STÜNDLICH, MINUTENLICH, SEKUNDENLICH sein. Das heißt Jahr, Monat, Tag, Woche, Stunde, Minute und Sekunde.
  • dtstart,until: ist die Start- und Endzeit.
  • wkst: Startzeit der Woche. 
  • Intervall: Intervall. 
  • count: Geben Sie an, wie viele generiert werden sollen.
  • byxxx: Gibt den Abgleichszeitraum an. Beispielsweise stimmt byweekday=(MO,TU) nur mit Montag und Dienstag überein. byweekday kann MO, TU, WE, TH, FR, SA, SU angeben. Das ist Montag bis Sonntag.
>>> from dateutil.rrule import *

>>> list(rrule(DAILY,dtstart=parse('2013-08-01'),until=parse('2013-08-07')))  # 2013-08-01到2013-08-07每日
[datetime.datetime(2013, 8, 1, 0, 0),
 datetime.datetime(2013, 8, 2, 0, 0),
 datetime.datetime(2013, 8, 3, 0, 0),
 datetime.datetime(2013, 8, 4, 0, 0),
 datetime.datetime(2013, 8, 5, 0, 0), 
 datetime.datetime(2013, 8, 6, 0, 0), 
 datetime.datetime(2013, 8, 7, 0, 0)]

>>> list(rrule(DAILY,interval=3,dtstart=parse('2013-08-01'),until=parse('2013-08-07')))  # 间隔为3
[datetime.datetime(2013, 8, 1, 0, 0),
 datetime.datetime(2013, 8, 4, 0, 0),
 datetime.datetime(2013, 8, 7, 0, 0)]

>>> list(rrule(DAILY,count=3,dtstart=parse('2013-08-01'),until=parse('2013-08-07')))  # 只生成3个
[datetime.datetime(2013, 8, 1, 0, 0),
 datetime.datetime(2013, 8, 2, 0, 0),
 datetime.datetime(2013, 8, 3, 0, 0)]

>>> list(rrule(DAILY,byweekday=(MO,TU),dtstart=parse('2013-08-01'),until=parse('2013-08-07')))  # 只匹配周一周二的
[datetime.datetime(2013, 8, 5, 0, 0),

Guess you like

Origin blog.csdn.net/m0_72557783/article/details/128420366