Using `DateString` and `StringSplit`:

    dstr = DateString[ToString@19001231, "ISODate"]

> "1900-12-31"

    ToExpression@StringSplit[dstr, Except[DigitCharacter]]

> {1900, 12, 31}