class_docstr: Extract metadata written by the SDT-control software
  
  Some of it is encoded in the comment strings
  (see :py:meth:`parse_comments`). Also, date and time are encoded in a
  peculiar way (see :py:meth:`get_datetime`). Use :py:meth:`extract_metadata`
  to update the metadata dict.
docstr: Turn date and time saved by SDT-control into proper datetime object
  
  Parameters
  ----------
  date
      SPE file date, typically ``metadata["date"]``.
  time
      SPE file date, typically ``metadata["time_local"]``.
  
  Returns
  -------
  File's datetime if parsing was succsessful, else None.
docstr_tok: ["Turn","date","and","time","saved","by","SDT-control","into","proper","datetime","object","Parameters","--","--","--","--","--","date","SPE","file","date",",","typically","``","metadata","[","``","date","''","]","``",".","time","SPE","file","date",",","typically","``","metadata","[","``","time_local","''","]","``",".","Returns","--","--","--","-","File","'s","datetime","if","parsing","was","succsessful",",","else","None","."]
code: def get_datetime(date: str, time: str) -> Union[datetime, None]:
      """Turn date and time saved by SDT-control into proper datetime object
  
      Parameters
      ----------
      date
          SPE file date, typically ``metadata["date"]``.
      time
          SPE file date, typically ``metadata["time_local"]``.
  
      Returns
      -------
      File's datetime if parsing was succsessful, else None.
      """
      try:
          month = __class__.months[date[2:5]]
          return datetime(
              int(date[5:9]),
              month,
              int(date[0:2]),
              int(time[0:2]),
              int(time[2:4]),
              int(time[4:6]),
          )
      except Exception as e:
          logger.info(
              f"Failed to decode date from SDT-control metadata: {e}."
          )
  
imports: from datetime import datetime
  import logging
  import os
  from typing import Any, Callable, Dict, Iterator, List, Mapping, Optional, Sequence, Tuple, Union
  import warnings
  import numpy
  from ..core.request import Request, IOMode, InitializationError
  from ..core.v3_plugin_api import PluginV3, ImageProperties
label_desc: Use image node_id 3 for calling the SDTControlSpec obj's underlying member method code with example usage: obj.get_datetime(date, time) and returns: datetime