Skip to content

Учебник: программирование на Java

Бесплатное онлайн обучение программированию на языке Java

Menu
  • Учебник
  • Блог
  • Карта сайта
Menu

Учебное задание: отображение текущего времени

Posted on 08.06.201720.06.2017 by Java 9

Ключевой момент: вы можете вызвать System.currentTimeMillis(), которая возвращает текущее время.

Задача заключается в разработке программы, которое показывает текущее время в GMT (Greenwich Mean Time, т.е. среднее время по Гринвичу) в формате часы:минуты:секунды, т.е. 13:19:8.

Метод currentTimeMillis в классе System возвращает текущее время в миллисекундах, истёкшее с полуночи 1 января 1970 GMT, как показано на следующем рисунке:

Это время известно как Эра UNIX (UNIX epoch). Эра – это точка, когда началось время, а 1970 – это год, когда официально представлена операционная система UNIX.

Вы можете использовать этот метод для получения текущего времени, а затем вычисления текущих секунд, минут, часов следующим образом:

  1. Получить общее число миллисекунд с полуночи 1 января 1970 в totalMilliseconds вызовом System.currentTimeMillis() (к примеру, 1203183068328 миллесекунд).
  2. Получить общее число секунд totalSeconds разделив totalMilliseconds на 1000 (например, 1203183068328 миллисекунд / 1000 = 1203183068 секунд).
  3. Вычислить текущую секунд из totalSeconds % 60 (например, 1203183068 секунд % 60 = 8, что будет текущей секундой).
  4. Получить общее количество минут totalMinutes разделив totalSeconds на 60 (к примеру, 1203183068 секунд / 60 = 20053051 минут).
  5. Вычислить текущее время из totalMinutes % 60 (к примеру, 20053051 минут % 60 = 31, это будет текущая минута).
  6. Получить общее количество часов totalHours разделив totalMinutes на 60 (например, 20053051 минут / 60 = 334217 часов).
  7. Вычислить текущий час из totalHours % 24 (например, 334217 часов % 24 = 17, это будет текущий час).

Полная программа:

public class ShowCurrentTime {
    public static void main(String[] args) {
        // Получить общее количество миллисекунд с полночи 1 января 1970
        long totalMilliseconds = System.currentTimeMillis();

        // Получить общее количество миллисекунд с полночи 1 января 1970
        long totalSeconds = totalMilliseconds / 1000;

        // Рассчитать текущую секунду этой минуты и этого часа
        long currentSecond = totalSeconds % 60;
        
        // Получить общее количество минут
        long totalMinutes = totalSeconds / 60;

        // Рассчитать текущую минуту этого часа
        long currentMinute = totalMinutes % 60;

        // Получить общее количество часов
        long totalHours = totalMinutes / 60;

        // Рассчитать текущий час
        long currentHour = totalHours % 24;

        // Отобразить результаты
        System.out.println("Текущее время " + currentHour + ":"
                + currentMinute + ":" + currentSecond + " GMT");
    }
}

Строка 4 вызывает System.currentTimeMillis() для получения текущего времени в миллисекундах, как величину long. Поэтому все переменные в этой программе объявлены как тип long. Секунды, минуты и часы извлекаются из текущего времени используя операторы / и % (строки 6–22).

Проверь себя:

  1. Как вы получаете текущую секунду, минуту и час?

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

wp-puzzle.com logo




Свежие записи

  • Как установить Java 10 (JDK 10, JRE 10) в Linux
  • Как установить Java 10 (JDK 10, JRE 10) в Windows
  • Почему в программах Java вместо круглых цифр появляются девятки (9999999999999)?
  • Как установить NetBeans 9 для разработки на JDK 9
  • Как установить Java 9 (JDK 9, JRE 9) в Windows

Свежие комментарии

  • м к записи Чтение ввода с консоли
  • Java 9 к записи Чтение ввода с консоли
  • Михаил к записи Чтение ввода с консоли
  • Михаил к записи Упражнения по программированию
  • Михаил к записи Упражнения по программированию

Архивы

  • Июнь 2018
  • Апрель 2018
  • Январь 2018
  • Декабрь 2017
  • Сентябрь 2017
  • Июль 2017
  • Июнь 2017
  • Май 2017




© 2023 Учебник: программирование на Java | Powered by Minimalist Blog WordPress Theme