Вариант 1.
1. Определите, что у вас - полная дата, или только год.
2. Если только год, то приклейте 1 января.
3. Конвертируйте в отметку Unix time как обычно.
4. Если дата с фрагментом 1 января, то считаем, что известен был только год, выводим только год.
Вариант 2.
1. Определите, что у вас - полная дата, или только год. Результат сохраняем во временную переменную 1 - полная дата, 2 - только год.
2. Если только год, то приклейте 1 января.
3. Конвертируйте в отметку Unix time как обычно.
4. Сохраните и отметку времени и результат выполнения шага 1 в отдельном поле (полная дата, или только год).
5. Если полная дата, то конвертируем отметку времени в строковое представление, и берем всю строку. Если только год, то тоже конвертируем, но выводим только год.