Родился 18 августа 1914 года в селе Веселоярск ныне Рубцовский район Алтайского края.
Подполковник Советской Армии, участник Великой Отечественной войны, Герой Советского Союза.
В июле 1941 года Зима был призван в армию. К сентябрю 1943 года гвардии майор Иван Зима был начальником отделения штаба 42-й гвардейской стрелковой дивизии 40-й армии Воронежского фронта. Отличился во время битвы за Днепр.
Во время форсирования Днепра к северу от посёлка Ржищев Кагарлыкского района Киевской области Украинской ССР Зима во главе передового десантного отряда разведал наиболее выгодное место для переправы, переправился через реку и захватил плацдарм на её западном берегу. Немецкие войска предприняли несколько контратак, но все они успешно были отражены.
Указом Президиума Верховного Совета СССР от 29 октября 1943 года за «мужество и героизм, проявленные при форсировании Днепра и удержании плацдарма» гвардии майор Иван Зима был удостоен высокого звания Героя Советского Союза с вручением ордена Ленина и медали «Золотая Звезда».
В дальнейшем Зима участвовал в освобождении Румынии, Венгрии, Австрии и Чехословакии. Участвовал в Параде Победы. В декабре 1945 года в звании подполковника он был уволен в запас. Проживал в Закарпатской области, работал заместителем председателя Хустского горсовета. В 1951 году Зима повторно был призван в армию. В 1965 году вышел в отставку. Проживал в Киеве. Умер 5 декабря 1979 года, похоронен на Байковом кладбище Киева.
Был также награждён двумя орденами Красного Знамени, тремя орденами Отечественной войны 1-й степени, двумя орденами Красной Звезды, рядом медалей.