According to the https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior
When used with the strptime() method, the %f directive accepts from one to six digits and zero pads on the right. %f is an extension to the set of format characters in the C standard (but implemented separately in datetime objects, and therefore always available).
this is wrong behavior.