Date currentDate = new Date ();
System.out.println ( "Date currentDate =" + currentDate);
Отримаємо (дата Java, час Java):
Форматування дати і часу в Java див. Нижче.
Як задати іншу, не поточну, дату в Java? Отримаємо вчорашню дату:
currentDate = new Date ();
Long time = currentDate.getTime ();
long anotherDate = -1;
time = time + (60 * 60 * 24 * 1000 * anotherDate);
currentDate = new Date (time);
System.out.println ( "Date currentDate =" + currentDate);
Результат (дата Java, час Java):
Отримати дату в Java за допомогою GregorianCalendar:
клас DateFormat
Форматуємо дату і час в Java за допомогою класу DateFormat. Це встановлене форматування для даної локалі.
Як створити російську локаль?
Locale local = new Locale ( "ru", "RU");
DateFormat df = DateFormat.getDateInstance (DateFormat.DEFAULT, local);
currentDate = new Date ();
System.out.println ( "currentDate =" + df.format (currentDate));
DateFormat df = DateFormat.getDateInstance (DateFormat.LONG. Local);
currentDate = new Date ();
System.out.println ( "currentDate =" + df.format (currentDate));
Форматуємо Час в Java за допомогою встановленого формату
DateFormat df = DateFormat.getTimeInstance (DateFormat.DEFAULT, local);
currentDate = new Date ();
System.out.println ( "currentTime =" + df.format (currentDate));
Форматуємо дату і час за допомогою встановленого формату:
DateFormat df = DateFormat.getDateTimeInstance (DateFormat.DEFAULT, DateFormat.DEFAULT, local);
currentDate = new Date ();
System.out.println ( "currentDateTime =" + df.format (currentDate));
клас SimpleDateFormat
Можна самому визначити порядок форматування за допомогою класу SimpleDateFormat.
Приклад (рік коротко):
SimpleDateFormat sdf = new SimpleDateFormat ( "dd.MM.yyг.");
currentDate = new Date ();
System.out.println ( "currentDate =" + sdf.format (currentDate));
Приклад (рік повний):
SimpleDateFormat sdf = new SimpleDateFormat ( "dd.MM.yyyyг.");
currentDate = new Date ();
System.out.println ( "currentDate =" + sdf.format (currentDate));
Приклад (місяць прописом):
SimpleDateFormat sdf = new SimpleDateFormat ( "d MMM yyyyг.");
currentDate = new Date ();
System.out.println ( "currentDate =" + sdf.format (currentDate));
Форматуємо дату і час:
SimpleDateFormat sdf = new SimpleDateFormat ( "dd.MM.yy HH: mm: ss");
currentDate = new Date ();
System.out.println ( "currentDate =" + sdf.format (currentDate));
currentDateTime = 02.05.09 20:21:39
Якщо в форматі годин поставити маленькі букви hh, тобто hh: mm: ss, то отримаємо:
currentDateTime = 02.05.09 8:24:24
тут 08 замість 20 годин.
клас DateFormatSymbols
Щоб назви місяців були в родовому відмінку використовуємо клас DateFormatSymbols:
клас MaskFormatter
Найважливіше, що потрібно знати про клас MaskFormatter, так це те, що форматує він тільки РЯДКИ. Якщо треба форматувати дату, від дати переходимо до рядка, а вже рядок форматіруем MaskFormatter-му. приклад:
то відсутні символи замінюються знаком підкреслення.
клас GregorianCalendar
Корисно знати клас GregorianCalendar при роботі з датами. Клас GregorianCalendar розширює клас Calendar в Java.
Встановити дату та час в об'єкт GregorianCalendar:
Відповідними методами get отримуємо елементи дати:
Додати / відняти до дати дні можна методом add:
Інша можливість змінювати дату - метод roll:
Перевіримо високосний чи рік методом isLeapYear: