Java 8
Итак, начнем с How to parse/format dates with LocalDateTime? (Java 8) и DateTimeFormatter
вы можете преобразовать значение String
в LocalDateTime
используя что-то вроде ...
String value = "20040805034000";
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
LocalDateTime ldt = LocalDateTime.parse(value, format);
System.out.println(ldt);
Какие выходы 2004-08-5T03:40
.
Далее вы можете использовать ChronoUnit.SECONDS.between
рассчитать количество секунд между два раза, но это означает, что вам нужно время, якорь, который будет полночь в вашем случае ...
LocalDateTime midnight = ldt.withHour(0).withMinute(0).withSecond(0).withNano(0);
long seconds = ChronoUnit.SECONDS.between(midnight, ldt);
System.out.println(seconds);
который выводит 13200
Если вы не можете использовать Java 8, используйте вместо этого Joda-Time. Так, начиная с Converting a date string to a DateTime object using Joda Time library и Java (Joda): Seconds from midnight of LocalDateTime
String value = "20040805034000";
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyyMMddHHmmss");
LocalDateTime dt = formatter.parseLocalDateTime(value);
System.out.println(dt);
LocalDateTime midnight = dt.withMillisOfDay(0);
long seconds = Seconds.secondsBetween(midnight, dt).getSeconds();
System.out.println(seconds);
'SimpleDateFormat' позволит вам преобразовать' значение String' в 'date' ... – MadProgrammer
@Satya за то, что я пытался, я пытаюсь использовать набор кодов из того, что я нашел на этом веб-сайте для преобразования. Для поисковой части в основном я не могу показаться. – nevertoolateyet
Возможный дубликат [формат даты и конвертация этой даты в JodaTime] (http://stackoverflow.com/questions/24324149/date-format-and-converting-that-date-to-jodatime) –