class_docstr: Matches standard date formats into a provided format
  Reads from different forms of date and time expressions and converts them
  to a provided date format.
  
  Extracts only **one** date per document. Use with sentence detector to find
  matches in each sentence.
  To extract multiple dates from a document, please use the
  :class:`.MultiDateMatcher`.
  
  Reads the following kind of dates::
  
      "1978-01-28", "1984/04/02,1/02/1980", "2/28/79",
      "The 31st of April in the year 2008", "Fri, 21 Nov 1997", "Jan 21,
      ‘97", "Sun", "Nov 21", "jan 1st", "next thursday", "last wednesday",
      "today", "tomorrow", "yesterday", "next week", "next month",
      "next year", "day after", "the day before", "0600h", "06:00 hours",
      "6pm", "5:30 a.m.", "at 5", "12:59", "23:59", "1988/11/23 6pm",
      "next week at 7.30", "5 am tomorrow"
  
  For example ``"The 31st of April in the year 2008"`` will be converted into
  ``2008/04/31``.
  
  Pretrained pipelines are available for this module, see
  `Pipelines <https://sparknlp.org/docs/en/pipelines>`__.
  
  For extended examples of usage, see the
  `Examples <https://github.com/JohnSnowLabs/spark-nlp/blob/master/examples/python/annotation/text/english/MultiDateMatcherMultiLanguage_en.ipynb>`__.
  
  ====================== ======================
  Input Annotation types Output Annotation type
  ====================== ======================
  ``DOCUMENT``           ``DATE``
  ====================== ======================
  
  Parameters
  ----------
  dateFormat
      Desired format for dates extracted, by default yyyy/MM/dd.
  readMonthFirst
      Whether to parse the date in mm/dd/yyyy format instead of dd/mm/yyyy,
      by default True.
  defaultDayWhenMissing
      Which day to set when it is missing from parsed input, by default 1.
  anchorDateYear
      Add an anchor year for the relative dates such as a day after tomorrow.
      If not set it will use the current year. Example: 2021
  anchorDateMonth
      Add an anchor month for the relative dates such as a day after tomorrow.
      If not set it will use the current month. Example: 1 which means January
  anchorDateDay
      Add an anchor day of the day for the relative dates such as a day after
      tomorrow. If not set it will use the current day. Example: 11
  
  Examples
  --------
  >>> import sparknlp
  >>> from sparknlp.base import *
  >>> from sparknlp.annotator import *
  >>> from pyspark.ml import Pipeline
  >>> documentAssembler = DocumentAssembler() \
  ...     .setInputCol("text") \
  ...     .setOutputCol("document")
  >>> date = DateMatcher() \
  ...     .setInputCols("document") \
  ...     .setOutputCol("date") \
  ...     .setAnchorDateYear(2020) \
  ...     .setAnchorDateMonth(1) \
  ...     .setAnchorDateDay(11) \
  ...     .setOutputFormat("yyyy/MM/dd")
  >>> pipeline = Pipeline().setStages([
  ...     documentAssembler,
  ...     date
  ... ])
  >>> data = spark.createDataFrame([["Fri, 21 Nov 1997"], ["next week at 7.30"], ["see you a day after"]]).toDF("text")
  >>> result = pipeline.fit(data).transform(data)
  >>> result.selectExpr("date").show(truncate=False)
  +-------------------------------------------------+
  |date                                             |
  +-------------------------------------------------+
  |[[date, 5, 15, 1997/11/21, [sentence -> 0], []]] |
  |[[date, 0, 8, 2020/01/18, [sentence -> 0], []]]  |
  |[[date, 10, 18, 2020/01/12, [sentence -> 0], []]]|
  +-------------------------------------------------+
  
  See Also
  --------
  MultiDateMatcher : for matching multiple dates in a document
code: def __init__(self):
      super(DateMatcher, self).__init__(
          classname="com.johnsnowlabs.nlp.annotators.DateMatcher"
      )
      self._setDefault(
          inputFormats=[""],
          outputFormat="yyyy/MM/dd",
          readMonthFirst=True,
          defaultDayWhenMissing=1,
          anchorDateYear=-1,
          anchorDateMonth=-1,
          anchorDateDay=-1,
      )
  
file_path: spark-nlp/python/sparknlp/annotator/matcher/date_matcher.py
imports: from sparknlp.common import *
label_desc: Use image node_id 1 to create a new DateMatcher object from inherited base classes: AnnotatorModel, DateMatcherUtils with example: obj = DateMatcher()