code: protected function parseDateTime($value)
      {
          if (strlen($value) == 6) {
              return Carbon::createFromFormat('ymdHis', $value . '000000');
          }
          if (strlen($value) == 8) {
              return Carbon::createFromFormat('YmdHis', $value . '000000');
          }
          if (strlen($value) == 16) {
              return Carbon::createFromFormat('YmdHis', substr($value, 0, 14));
          } // skip decimal fraction
      }
docs: Parse a *Representation of Dates and Times* (ISO 8601).
  The date requires 8 numeric characters in the pattern yyyymmdd.
  The time requires 8 numeric characters in the pattern hhmmss.f,
  expressed in terms of the 24-hour (00-23) clock.
  
  @param string $value
  
  @return Carbon|null