Вы используете ужасный класс даты-времени, который был заменен годами на go современными java .time классами, определенными в JSR 310. Никогда не используйте java.sql.Timestamp
.
Проанализируйте ваш ввод как LocalDateTime
, поскольку в нем отсутствует индикатор часового пояса или смещения от UT C. Замените SPACE в середине на T
, чтобы соответствовать стандарту ISO 8601 для форматов даты и времени.
String input = "1970-01-01 01:00:00".replace( " " , "T" ) ;
LocalDateTime ldt = LocalDateTime.parse( input ) ;
Очевидно, вы хотите, чтобы это представляло момент в UT C. Примените смещение, чтобы получить OffsetDateTime
.
OffsetDateTime odt = ldt.atOffset( ZoneOffset.UTC ) ;
Получить счет в миллисекундах с начала отсчета эпохи первого момента 1970 года в UT C.
long millis = odt.toInstant().toEpochMilli() ;
3600000