3. Essential Java Classes 3. Date and Time

Содержание

Слайд 2

Date and Time Classes Date - represents a specific instant in

Date and Time Classes

Date - represents a specific instant in time,

with millisecond precision
GregorianCalendar (concrete subclass of Calendar) – date and time manipulations
SimpleDateFormat- formatting and parsing dates in a locale-sensitive manner
Locale - represents a specific geographical, political, or cultural region
SimpleTimeZone(concrete subclass of TimeZone) - represents a time zone for use with a Gregorian calendar

*

Infopulse Training Center

Слайд 3

Class Date represents a specific instant in time, with millisecond precision

Class Date

represents a specific instant in time, with millisecond precision
new Date()

returns current date and time
Date saves the milliseconds since January 1, 1970, 00:00:00
Date does not localized. Most of it methods are deprecated.
Calendar class allows to process dates

*

Infopulse Training Center

Слайд 4

Some Date methods equals(Object obj) - compares dates after(Date date) -

Some Date methods

equals(Object obj) - compares dates
after(Date date) - compares dates
before(Date

date) - compares dates
getTime() – returns milliseconds since 01.01.1970
setTime() – sets date and time
See http://docs.oracle.com/javase/7/docs/api/java/util/Date.html for details

*

Infopulse Training Center

Слайд 5

Class Calendar Abstract class that provides methods for converting between a

Class Calendar

Abstract class that provides methods for converting between a specific

instant in time and a set of calendar fields
Some calendar fields: YEAR, MONTH, DATE, DAY_OF_WEEK, HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND

*

Infopulse Training Center

Слайд 6

Calendar Methods Calendar rightNow = Calendar.getInstance(); - gets current date and

Calendar Methods

Calendar rightNow = Calendar.getInstance(); - gets current date and time
set(int

field, int value) – sets calendar field value (then one of get (), getTime(), add(), roll() methods is needed)
add(int field, int amount) – adds given amount to the field
get(int field) – gets a given field value
See http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html for details

*

Infopulse Training Center

Слайд 7

Class GregorianCalendar Concrete subclass of Calendar Provides the standard calendar system

Class GregorianCalendar

Concrete subclass of Calendar
Provides the standard calendar system used

by most of the world.
Use GregorianCalendar for date and time manipulations
See http://docs.oracle.com/javase/7/docs/api/java/util/GregorianCalendar.html for details

*

Infopulse Training Center

Слайд 8

Calendar Examples Задание даты: GregorianCalendar calendar = new GregorianCalendar(2012, Calendar.May, 14);

Calendar Examples

Задание даты:
GregorianCalendar calendar = new GregorianCalendar(2012, Calendar.May, 14);
Добавление к дате

двух недель:
calendar.add(Calendar.WEEK_OF_YEAR, 2);
Изменение полей даты:
calendar.set(Calendar.DAY_OF_MONTH, 10);
calendar.set(Calendar.MONTH, Calendar.SEPTEMBER);
System.out.println(dtFrm.format(calendar.getTime()));

*

Infopulse Training Center

Слайд 9

Date & Calendar Transformations Calendar c = Calendar.getInstance(); Date dt =

Date & Calendar Transformations

Calendar c = Calendar.getInstance();
Date dt = new Date();
Calendar

-> Date
dt = c.getTime();
Date -> Calendar
c.setTime(dt);

*

Infopulse Training Center

Слайд 10

Class SimpleDateFormat is a concrete class for formatting and parsing dates

Class SimpleDateFormat

is a concrete class for formatting and parsing dates in

a locale-sensitive manner
It allows for:
formatting (date -> text)
parsing (text -> date)
See http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html for details

*

Infopulse Training Center

Слайд 11

SimpleDateFormat Example SimpleDateFormat dtFrm = new SimpleDateFormat("dd.MM.yyyy"); Date start = new

SimpleDateFormat Example

SimpleDateFormat dtFrm =
new SimpleDateFormat("dd.MM.yyyy");
Date start = new Date();
String

txDate = dtFrm.format(start);

*

Infopulse Training Center

Слайд 12

Class Locale represents a specific geographical, political, or cultural region Locale

Class Locale

represents a specific geographical, political, or cultural region
Locale lc =

new Locale(”uk”, ”UK”);
Locale.getDefault() - gets the current value of the default locale
See http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html for details

*

Infopulse Training Center

Слайд 13

Класс SimpleTimeZone A concrete subclass of TimeZone class that represents a

Класс SimpleTimeZone

A concrete subclass of TimeZone class that represents a time

zone for use with a Gregorian calendar
Can specify the year when the daylight saving time schedule starts or ends.
See http://docs.oracle.com/javase/7/docs/api/java/util/SimpleTimeZone.html for details

*

Infopulse Training Center

Слайд 14

SimpleDateFormat Localization SimpleDateFormat dtFrmL = new SimpleDateFormat("dd.MMMM.yyyy", Locale.ENGLISH); Date dt =

SimpleDateFormat Localization

SimpleDateFormat dtFrmL = new
SimpleDateFormat("dd.MMMM.yyyy", Locale.ENGLISH);
Date dt = new

Date();
System.out.println("Locale.ENGLISH: " + dtFrmL.format(dt));
Locale.ENGLISH: 05.October.2013
Locale.GERMAN: 05.Oktober.2013
Locale.FRANCE: 05.octobre.2013
Locale.ITALIAN: 05.ottobre.2013
Locale("ua", "ua"): 05.October.2013
Locale("ru", "ru"): 05.Октябрь.2013

*

Infopulse Training Center

Слайд 15

DateFormat Localization DateFormat dtFrmD = DateFormat.getDateInstance(DateFormat.DEFAULT, Locale.ENGLISH); System.out.println("Locale.ENGLISH: " + dtFrmD.format(dt));

DateFormat Localization

DateFormat dtFrmD = DateFormat.getDateInstance(DateFormat.DEFAULT, Locale.ENGLISH);
System.out.println("Locale.ENGLISH: " + dtFrmD.format(dt));
Locale.ENGLISH: Oct 5,

2013
Locale.GERMAN: 05.10.2013
Locale.FRANCE: 5 oct. 2013
Locale.ITALIAN: 5-ott-2013
Locale("ua", "ua"): Saturday, October 5, 2013
Locale("ru", "ru"): 5 Октябрь 2013 г.

*

Infopulse Training Center

Слайд 16

Date Localization http://docs.oracle.com/javase/tutorial/i18n/format/dateFormat.html * Infopulse Training Center

Date Localization

http://docs.oracle.com/javase/tutorial/i18n/format/dateFormat.html

*

Infopulse Training Center

Слайд 17

Exercise 3.3.1 Print the following: Current date Date in 6 weeks

Exercise 3.3.1

Print the following:
Current date
Date in 6 weeks
Date 4 month

before
Date in 45 days

*

Infopulse Training Center

Слайд 18

Exercise 3.3.1 See 331DateActions project for the full text * Infopulse Training Center

Exercise 3.3.1

See 331DateActions project for the full text

*

Infopulse Training Center

Слайд 19

Exercise 3.3.2. Create a static method that gets some date and

Exercise 3.3.2.

Create a static method that gets some date and

returns next bank day

*

Infopulse Training Center

Слайд 20

Exercise 3.3.2. See 332NextBankDay project for full text * Infopulse Training Center

Exercise 3.3.2.

See 332NextBankDay project for full text

*

Infopulse Training Center