тл; д-р
Instant.ofEpochSecond( 1_280_512_800L )
2010-07-30T18: 00: 00Z
java.time
Новий фреймворк java.time, вбудований у Java 8 та пізніших версій, є наступником Joda-Time.
Ці нові класи включають зручний фабричний метод для перетворення лічильників цілих секунд з епохи. Ви отримуєте Instantмомент на часовій шкалі в UTC з роздільною здатністю до наносекунд.
Instant instant = Instant.ofEpochSecond( 1_280_512_800L );
instant.toString (): 2010-07-30T18: 00: 00Z
Дивіться, що цей код працює на сайті IdeOne.com .

Asia/Kabulчи Asia/Tehranчасові пояси?
Ви повідомили, що отримуєте значення часу 22:30 замість 18:00, що тут бачили. Я підозрюю, що ваша утиліта PHP неявно застосовує часовий пояс за замовчуванням для настройки з UTC. Моє значення тут - UTC, що позначається Z(скорочено Zulu, означає UTC). Будь шанс вашої машини OS або PHP встановлена в Asia/Kabulабо Asia/Tehranчасових поясах? Я гадаю, що так, як ви повідомляєте IRSTу своїх результатах, це, мабуть, означає час Ірану. Наразі в 2017 році це єдині зони, що працюють з літнім часом, що на чотири з половиною години випередив UTC.
Вкажіть правильний час ім'я зони в форматі continent/region, наприклад America/Montreal, Africa/Casablancaабо Pacific/Auckland. Ніколи не використовуйте 3-4 лист абревіатури , такі як ESTабо ISTчи IRSTяк вони НЕ справжні часові пояси, не стандартизований, і навіть не єдиний (!).
Якщо ви хочете побачити свій момент через об'єктив часового поясу певного регіону, застосуйте знак a, ZoneIdщоб отримати ZonedDateTime. Все одно той самий момент, але сприймається як інший час настінного годинника .
ZoneId z = ZoneId.of( "Asia/Tehran" ) ;
ZonedDateTime zdt = instant.atZone( z ); // Same moment, same point on timeline, but seen as different wall-clock time.
2010-07-30T22: 30 + 04: 30 [Азія / Тегеран]
Перетворення з java.time на застарілі класи
Ви повинні дотримуватися нових класів java.time. Але ви можете перетворити на старі, якщо потрібно.
java.util.Date date = java.util.Date.from( instant );
Joda-Time
ОНОВЛЕННЯ: Проект Joda-Time зараз перебуває в режимі обслуговування , команда радить переходити до класів java.time .
FYI, конструктор Joda-Time DateTime схожий: Помножте на тисячу, щоб отримати long(не an int!).
DateTime dateTime = new DateTime( ( 1_280_512_800L * 1000_L ), DateTimeZone.forID( "Europe/Paris" ) );
Краще уникати сумно сумних класів java.util.Date та .Calendar. Але якщо вам потрібно використовувати дату, ви можете конвертувати з Joda-Time.
java.util.Date date = dateTime.toDate();
Про java.time
Java.time каркас вбудований в Java 8 і пізніших версій. Ці класи витісняти неприємні старі застарілі класи дати і часу , такі як java.util.Date, Calendar, і SimpleDateFormat.
Проект Joda-Time , який зараз знаходиться в режимі обслуговування , радить перейти до класів java.time .
Щоб дізнатися більше, дивіться навчальний посібник Oracle . І шукайте переповнення стека за багатьма прикладами та поясненнями. Специфікація - JSR 310 .
Ви можете обмінюватися об'єктами java.time безпосередньо зі своєю базою даних. Використовуйте драйвер JDBC, сумісний з JDBC 4.2 або пізнішої версії. Немає потреби в струнах, немає потреби в java.sql.*заняттях.
Де отримати класи java.time?
Проект ThreeTen-Extra розширює java.time додатковими класами. Цей проект є передумовою для можливих майбутніх доповнень до java.time. Ви можете знайти деякі корисні класи тут , такі як Interval, YearWeek, YearQuarter, і більш .