как получить IP-адрес виртуального ящика, работающего на локальной машине [закрыто]

Согласно комментарию Basil Bourque, это обновленный ответ на этот вопрос, учитывая новый API Java 8:

    String myDateString = "13:24:40";
    LocalTime localTime = LocalTime.parse(myDateString, DateTimeFormatter.ofPattern("HH:mm:ss"));
    int hour = localTime.get(ChronoField.CLOCK_HOUR_OF_DAY);
    int minute = localTime.get(ChronoField.MINUTE_OF_HOUR);
    int second = localTime.get(ChronoField.SECOND_OF_MINUTE);

    //prints "hour: 13, minute: 24, second: 40":
    System.out.println(String.format("hour: %d, minute: %d, second: %d", hour, minute, second));

Замечания:

  • поскольку вопрос OP содержит конкретный пример момента времени, содержащего только часы, минуты и секунды (нет дня, месяца и т. д.), в ответе выше используется только LocalTime . Если вы хотите проанализировать строку, которая также содержит дни, месяц и т. Д., Тогда потребуется LocalDateTime . Его использование в значительной степени аналогично использованию LocalTime.
  • с момента времени, когда int OP вопрос не содержит никакой информации о часовом поясе, ответ использует версию LocalXXX классов даты / времени (LocalTime, LocalDateTime ). Если строка времени, которая должна быть проанализирована, также содержит информацию о часовом поясе, тогда необходимо использовать ZonedDateTime .

====== Ниже приведен старый ( оригинал) ответ на этот вопрос, используя pre-Java8 API: =====

Прошу прощения, если я собираюсь расстроить кого-либо с этим, но я на самом деле собираюсь ответить на вопрос. Java API довольно огромны, я думаю, что это нормально, что кто-то может время от времени пропустить.

SimpleDateFormat может сделать трюк здесь:

http: // docs .oracle.com / javase / 7 / docs / api / java / text / SimpleDateFormat.html

Это должно быть что-то вроде:

String myDateString = "13:24:40";
//SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");
//the above commented line was changed to the one below, as per Grodriguez's pertinent comment:
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
Date date = sdf.parse(myDateString);

Calendar calendar = GregorianCalendar.getInstance(); // creates a new calendar instance
calendar.setTime(date);   // assigns calendar to given date 
int hour = calendar.get(Calendar.HOUR);
int minute; /... similar methods for minutes and seconds

У вас есть должен знать:

  • шаблон, который вы передаете SimpleDateFormat, может быть другим, чем тот, который приведен в моем примере, в зависимости от того, какие значения у вас есть (часы в формате 12 часов или в формате 24 часа, и т.д). Посмотрите документацию по ссылке для получения подробной информации об этом
  • . Когда вы создаете объект Date из своей строки (через SimpleDateFormat), не испытывайте соблазна использовать Date.getHour (), Date.getMinute ( ) и т. д. Возможно, они время от времени работают, но в целом они могут давать плохие результаты и, как таковые, теперь устаревают. Вместо этого используйте календарь, как в примере выше.

30
задан user1015388 22 March 2017 в 13:58
поделиться