Возможный обходной путь - иметь постоянную подсказку, соответствующую секундам в определенном количестве лет (предпочтительно, кратном 4).Вы можете добавить эту константу, перевести время и затем вычесть количество выбранных лет.
Пример: выбрать 40 лет.
Определить постоянную:
MySQL [files]> select adddate(from_unixtime(0), interval 40 year);
+---------------------------------------------+
| adddate(from_unixtime(0), interval 40 year) |
+---------------------------------------------+
| 2010-01-01 01:00:00 |
+---------------------------------------------+
1 row in set (0.09 sec)
MySQL [files]> select unix_timestamp(adddate(from_unixtime(0), interval 40 year));
+-------------------------------------------------------------+
| unix_timestamp(adddate(from_unixtime(0), interval 40 year)) |
+-------------------------------------------------------------+
| 1262304000 |
+-------------------------------------------------------------+
1 row in set (0.09 sec)
СейчасВы можете использовать каждую временную метку Unix x
между 1930 и 20xx и использовать ее.
select subdate(from_unixtime(x+1262304000), interval 40 year);
С вашим примером -769338000
вы получите
MySQL [files]> select subdate(from_unixtime(-769338000+1262304000), interval 40 year);
+-----------------------------------------------------------------+
| subdate(from_unixtime(-769338000+1262304000), interval 40 year) |
+-----------------------------------------------------------------+
| 1945-08-15 17:00:00 |
+-----------------------------------------------------------------+
1 row in set (0.09 sec)