You are in a time zone where the daylight saving time started at midnight of April 1st of those years. For example, at midnight of April 1st 1984, the clocks were adjusted one hour forward, which means that the date "1984-04-01 00:00" does not exist in that timezone:
let dFmt = DateFormatter() dFmt.dateFormat = "yyyy-MM-dd" dFmt.timeZone = TimeZone(identifier: "Europe/Moscow") print(dFmt.date(from: "1984-04-01")) // nil
As a solution, you can tell the date formatter to be "lenient":
dFmt.isLenient = true
and then it will return the first valid date on that day.