„Сетих се, че исках да ви разкажа малко за работата с дати.“
„Вече ми казахте, че Java има клас Date и мога да използвам този клас, за да работя с дати.“
"Хм. Е, класът Дата е остарял за известно време."
„Сега се препоръчва instead of това да използвате класа Calendar, който има метод getTime(), който връща текущата дата.“
„Това е обект на календар, който обикновено се създава:“
Calendar cal = Calendar.getInstance();
„Когато извикате този метод, правилният календар се създава въз основа на настройките на вашия компютър.“
„„Правилният“ календар? Това означава ли, че има няколко?“
„Да. Е, по-точно би било да се каже „уместно“. Факт е, че Земята има не един, а много календари. Почти всеки от тях е свързан с няHowва религия or държава.“
„Годината може да е различна в зависимост от това в коя страна се намирате.“
"Ето примери за най-често срещаните календари."
Календар клас | Име на календара |
---|---|
Грегориански календар | Християнски григориански календар |
будистки календар | будистки календар |
Японски имперски календар | Японски императорски календар |
„Има и китайски календар, ислямски календар и много други.“
"Виждам."
„За да получите текущата дата, трябва да напишете code по следния начин:“
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
„Класът Календар има много методи, които ви позволяват бързо да получите всяHowва информация за дата и час.“
Код | Коментари |
---|---|
|
ера година месец ден от месеца ден от седмицата (пн, вт, ср, …) час minutesа секунда |
„Понякога наистина трябва да получите само част от наличната информация. Например текущата година or ден от седмицата.“
„Но понякога просто трябва да покажете датата в правилния формат.“
„Например в регистрационния файл or някъде другаде.“
„Или направете формат, който потребителят може да персонализира. Какво правите тогава?“
„Има специални класове и за това. Класът SimpleDateFormat е напълно подходящ за задачата, която описахте:“
Calendar calendar = Calendar.getInstance();
DateFormat formatter = new SimpleDateFormat("MM-DD-YY");
String message = formatter.format(calendar.getTime());
„Ах. Спомням си. Вече ми обяснихте нещо за SimpleDateFormat , но честно казано не помня много.“
„Всичко е много просто. Създавате SimpleDateFormat обект и му предавате шаблона за дата, който искате да получите. След това извиквате метода за форматиране и той ви дава подадената дата в желаната форма.“
„Звучи интересно. Бих искал повече подробности.“
„Ето ви. Подробностите. Ето някои от буквите, които могат да се използват в шаблона за дата:“
Писмо | Описание |
---|---|
Ж | Заменен от ерата (АД or пр.н.е.) |
г | Сменени от годината |
М | Сменени от месеца |
w | Номер на седмицата в годината |
У | Номер на седмицата в месеца |
д | Номер на деня в годината |
д | Ден от месеца |
Е | Ден от седмицата в месеца |
д | Ден от седмицата |
а | AM/PM (преди or след обяд) |
з | Час в 24-часов формат (0-23) |
к | Час в 24-часов формат (1-24) |
К | Час в 12-часов формат (0-11) |
ч | Час в 12-часов формат (1-12) |
м | Минути |
с | Секунди |
С | Мorсекунди |
z | Часова зона, форматирана така: Тихоокеанско стандартно време, PST |
З | Часова зона, форматирана така: -0800/td> |
„Готино! Това е почти всичко, от което се нуждаете.“
„Все още има някои нюанси, свързани с повтарянето на тези букви.
"Ако напишете YY, ще получите последните две цифри на годината. Ако напишете YYYY, ще получите всичките четири цифри на годината."
„Има и известна сложност с месеците. MM е числото на месеца. MMM е трибуквено съкращение на месеца, т.е. Jan, Feb, Mar, Apr, May и т.н. MMMM означава пълното име на месеца ."
„Можете също да покажете целия ден от седмицата (използвайки EEEE) or само първите две букви (използвайки EE).“
„Благодаря, Риши. Този клас SimpleDateFormat наистина е полезен. Сега знам.“
„Приятно използване! И успех!“