def decode_pdf_date(s: str) -> datetime:
    """Decode a pdfmark date to a Python datetime object

    A pdfmark date is a string in a paritcular format. See the pdfmark
    Reference for the specification.
    """
    if isinstance(s, String):
        s = str(s)
    if s.startswith('D:'):
        s = s[2:]

    # Literal Z00'00', is incorrect but found in the wild,
    # probably made by OS X Quartz -- standardize
    if s.endswith("Z00'00'"):
        s = s.replace("Z00'00'", '+0000')
    elif s.endswith('Z'):
        s = s.replace('Z', '+0000')
    s = s.replace("'", "")  # Remove apos from PDF time strings
    try:
        return datetime.strptime(s, r'%Y%m%d%H%M%S%z')
    except ValueError:
        return datetime.strptime(s, r'%Y%m%d%H%M%S')
def decode_pdf_date ( s : str ) -> datetime : if isinstance ( s , String ) : s = str ( s ) if s . startswith ( 'D:' ) : s = s [ 2 : ] if s . endswith ( "Z00'00'" ) : s = s . replace ( "Z00'00'" , '+0000' ) elif s . endswith ( 'Z' ) : s = s . replace ( 'Z' , '+0000' ) s = s . replace ( "'" , "" ) try : return datetime . strptime ( s , r'%Y%m%d%H%M%S%z' ) except ValueError : return datetime . strptime ( s , r'%Y%m%d%H%M%S' )
Decode a pdfmark date to a Python datetime object

    A pdfmark date is a string in a paritcular format. See the pdfmark
    Reference for the specification.