А если мне не нужны никакие offset, просто нужно знать время (unix milliseconds или типа того). какой из типов самый удобной?
смотри, тебе надо сохранять и вытаскивать одно и то же значение, проблема даты и времени состоит в том, что если при хранении не указывается смещение, в котором дата и время, то может произойти конвертация часового пояса в туче мест при записи/чтении в бд, драйвере и т.д.
поэтому дату и время надо хранить со смещением, кроме случая когда это какая то временная метка в конкретный день, не привязанная к часовому поясу, тогда используется LocalDateTime и строка как тип данных в бд
в твоем случае ты хочешь оперировать таймстампом, т.е. относительным временем, а значит оперировать им без смещения нельзя