Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Символы преобразования даты и времени




Символы преобразования даты и времени

В Java вывод даты в нужном формате можно реализовать с помощью следующих символов преобразования:

Символ Описание Пример
c Текущее время и дата Вс ноя 13 01: 19: 27 FET 2016
F Формат даты ISO 8601 (год-месяц-день) 2016-11-13
D Американский формат даты (месяц/день/год) 11/13/16
T 24-часовой формат времени 01: 26: 09
r 12-часовой формат времени 01: 26: 51 AM
R 24-часовой формат времени без секунд 01: 27
Y Текущий год из четырех цифр (с ведущими нулями)
y Последние две цифры года (с ведущими нулями)
C Первые две цифры года (с ведущими нулями)
B Полное название месяца ноября
b Сокращенное название месяца ноя
m Номер текущего месяца (с ведущими нулями)
d Номер текущего дня месяца (с ведущими нулями)
e Номер текущего дня месяца (без ведущих нулей)
A Полное название текущего дня недели воскресенье
a Сокращенное название дня недели Вс
j Количество дней с начала года (с ведущими нулями)
H Формат часа (с ведущими нулями), от 00 до 23
k Формат часа (без ведущих нулей), от 0 до 23
I Формат часа (с ведущими нулями), от 01 до 12
l Формат часа (без ведущих нулей), от 1 до 12
M Минуты (с ведущими нулями)
S Секунды (с ведущими нулями)
L Миллисекунды (с ведущими нулями)
N Наносекунды (с ведущими нулями)
p (%Tp) Верхний регистр маркера A. M. /P. M. AM
p (%tp) Нижний регистр маркера A. M. /P. M. am
z Часовое смещение RFC 822 по GMT +0300
Z Часовой пояс FET
s Секунды, начиная с 1970-01-01 00: 00: 00 GMT
Q Миллисекунды, начиная с 1970-01-01 00: 00: 00 GMT

Есть и другие полезные классы, связанные с датой и временем. Для получения более подробной информации обратитесь к стандартной документации Java.

Преобразование строки в дату

Класс SimpleDateFormat имеет некоторые дополнительные методы, в частности parse(), который в Java поможет нам перевести строку в дату соответствии с форматом, хранящимся в данном объекте SimpleDateFormat. Например:

import java. util. *; import java. text. *; public class Test { public static void main(String args[]) { SimpleDateFormat ft = new SimpleDateFormat (" yyyy-MM-dd" );       String str = args. length == 0? " 2011-11-11" : args[0]; System. out. print(" Строка " + str + " распаршена как " );       Date parsingDate; try {    parsingDate = ft. parse(str);          System. out. println(parsingDate);       }catch (ParseException e) {          System. out. println(" Нераспаршена с помощью " + ft);       } }}

Получим следующий результат:

Строка 2011-11-11 распаршена как Fri Nov 11 00: 00: 00 FET 2011

Задержка по времени

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

import java. util. *; public class Test { public static void main(String args[]) { try {          System. out. println(new Date() + " \n" );          Thread. sleep(10000); // Замораживает весь поток на 10 секунд    System. out. println(new Date() + " \n" );       } catch (Exception e) {           System. out. println(" Получили исключение! " );       } }}

Получим следующий результат:

Sun Nov 13 02: 42: 16 FET 2016 Sun Nov 13 02: 42: 26 FET 2016

Вместо Thread. sleep() рекомендуется использовать TimeUnit(): TimeUnit. NANOSECONDS. sleep(), TimeUnit. MICROSECONDS. sleep(), TimeUnit. MILLISECONDS. sleep(), TimeUnit. SECONDS. sleep(), TimeUnit. MINUTES. sleep(), TimeUnit. HOURS. sleep() или TimeUnit. DAYS. sleep().

Время выполнения программы

Довольно просто можно узнать время выполнения кода вашей программы с помощью System. currentTimeMillis(). Для этого необходимо в начале программы записать в переменную значение System. currentTimeMillis(), а в конце вычесть из текущего значения System. currentTimeMillis() переменную, записанную вначале. Рассмотрим пример, в котором измерим скорость работы кода программы, которая выводит 10 случайных чисел на экран.

import java. util. *; public class Test { public static void main(String args[]) { // Начала отсчета long start = System. currentTimeMillis();          // Код программы. Получение 10 случайных чисел от 0 до 9 и вывод на экран for(int i = 1; i < = 10; i++) {     System. out. println(" Случайное число №" + i + ": " + (int)(Math. random() * 10)); } // Получение и запись в переменную timeWorkCode времени работы программы long timeWorkCode = System. currentTimeMillis() - start;       // Вывод времени выполнения работы кода на экран System. out. println(" Скорость выполнения программы: " + timeWorkCode + " миллисекунд" ); }}

Получим следующий результат:

Случайное число №1: 0Случайное число №2: 5Случайное число №3: 9Случайное число №4: 9Случайное число №5: 0Случайное число №6: 2Случайное число №7: 0Случайное число №8: 3Случайное число №9: 5Случайное число №10: 9Скорость выполнения программы: 2 миллисекунд

Разница дат в Java

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

import java. util. *; public class Test { public static void main(String args[]) { try {    long start = System. currentTimeMillis();     System. out. println(new Date() + " \n" );              Thread. sleep(10000);     System. out. println(new Date() + " \n" );              long end = System. currentTimeMillis();     long diff = end - start;     System. out. println(" Разница между датами: " + diff + " миллисекунд" ); }catch (Exception e) {    System. out. println(" Получили исключение! " ); } }}

Получим следующий результат:

Sun Nov 13 03: 22: 10 FET 2016 Sun Nov 13 03: 22: 20 FET 2016 Разница между датами: 10081 миллисекунд
Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...