code: def parse_datetime(text):
      """Given a datetime, returns a datetime tuple
  
      Parameters
      ----------
      text: string to be parsed
  
      Returns
      -------
          (int, int , int, int, int, int, int, int):
              datetime tuple: (year, month, day, hour, minute, second, microsecond, utcoffset in minutes or None)
      """
      match = re.search(pattern_datetime, text)
      if match is None:
          raise ValueError(f"Time data '{text}' does not match pattern")
      g = group_accessor(match)
      log.debug("Match groups: %s", match.groups())
  
      if g.group(14) == "-":
          tz = -1.0 * (int(g.group(15)) * 60 + int(g.group(17)))
      elif g.group(14) == "+":
          tz = int(g.group(15)) * 60 + int(g.group(17))
      else:
          tz = None
  
      return (
          int(g.group(1)),
          int(g.group(3)),
          int(g.group(5)),
          int(g.group(7)),
          int(g.group(9)),
          int(g.group(11)),
          int(1000000.0 * float(g.group(12))),
          tz,
      )
  
file_path: Fiona/fiona/rfc3339.py
imports: import logging
  import re
label_desc: Use image node_id 3 for calling a global function with example usage: parse_datetime(text) and returns: int,  int,  int,  int,  int,  int,  int,  tz