from pyspark.sql.functions import unix_timestamp
timestamp_parsed = unix_timestamp(action_df.timeStamp, "yyyy-MM-dd'T'kk:mm:ss"
    ).cast('double').cast('timestamp')
action_df.where(timestamp_parsed > cut_off).show()
Comparing datetime object to 8601 strings gives wrong result, why is it allowed?