"Size tarihlerle çalışmaktan biraz bahsetmek istediğimi hatırladım."

"Bana zaten Java'nın Date sınıfına sahip olduğunu ve bu sınıfı tarihlerle çalışmak için kullanabileceğimi söylemiştin."

"Hmm. Eh, Date sınıfı bir süredir modası geçmiş durumda."

"Şimdi bunun yerine, geçerli tarihi döndüren bir getTime() yöntemine sahip Calendar sınıfını kullanmanız önerilir ."

"Bu, genellikle oluşturulan bir Takvim nesnesidir:"

Takvim nesnesi oluşturma
Calendar cal = Calendar.getInstance();

"Bu yöntemi çağırdığınızda, bilgisayar ayarlarınıza göre doğru takvim oluşturulur."

"'Doğru' takvim mi? Bu birkaç takvim olduğu anlamına mı geliyor?"

"Evet. "İlgili" demek daha doğru olur. Gerçek şu ki, Dünya'nın bir değil birçok takvimi var. Neredeyse her biri bir din veya ülke ile ilişkilendiriliyor."

"Hangi ülkede bulunduğunuza bağlı olarak yıl farklı olabilir."

"İşte en yaygın takvimlerin örnekleri."

Takvim sınıfı Takvim adı
Miladi takvim Hıristiyan Gregoryen takvimi
BudistTakvim Budist takvimi
Japon İmparatorluk Takvimi Japon İmparatorluk Takvimi

"Ayrıca Çin takvimi, İslami takvim ve daha pek çok şey var."

"Anlıyorum."

"Güncel tarihi almak için şu şekilde bir kod yazmanız gerekir:"

şimdiki zamanı al
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();

"Takvim sınıfı, bir tarih ve saat hakkında herhangi bir bilgiyi hızlı bir şekilde almanızı sağlayan birçok yönteme sahiptir."

kod Yorumlar
Calendar calendar = Calendar.getInstance();

int era = calendar.get(Calendar.ERA);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);

int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
dönem 
yıl 
ay ayın 
günü

haftanın günü (Pzt, Sal, Çar, …)
saat 
dakika 
saniye

"Bazen mevcut bilgilerin yalnızca bir kısmını almanız gerekir. Örneğin, içinde bulunulan yıl veya haftanın günü."

"Ancak bazen tarihi doğru biçimde göstermeniz yeterlidir."

"Örneğin, günlük dosyasında veya başka bir yerde."

"Ya da kullanıcının özelleştirebileceği bir biçim oluşturun. O zaman ne yaparsınız?"

"Bunun için de özel sınıflar var. SimpleDateFormat sınıfı, tanımladığınız görev için mükemmel şekilde uygundur:"

Bir tarih istenen biçimde nasıl görüntülenir?
Calendar calendar = Calendar.getInstance();

DateFormat formatter = new SimpleDateFormat("MM-DD-YY");

String message = formatter.format(calendar.getTime());

"Ah. Hatırlıyorum. Bana SimpleDateFormat'tan biraz bahsetmiştin ama dürüst olmak gerekirse pek bir şey hatırlamıyorum."

"Hepsi çok basit. Bir SimpleDateFormat nesnesi oluşturuyorsunuz ve ona almak istediğiniz tarih modelini iletiyorsunuz. Sonra format yöntemini çağırıyorsunuz ve o size geçen tarihi istediğiniz biçimde veriyor."

"Kulağa ilginç geliyor. Daha fazla ayrıntı istiyorum."

"Alın. Ayrıntılar. İşte tarih düzeninde kullanılabilecek bazı harfler:"

Mektup Tanım
G Çağ tarafından değiştirildi (AD veya BC)
y Yıl tarafından değiştirildi
M Ay tarafından değiştirildi
w Yıldaki hafta sayısı
W Aydaki hafta sayısı
D Yıldaki gün sayısı
D Ayın günü
F Ayda haftanın günü
E Haftanın günü
A AM/PM (öğleden önce veya sonra)
H 24 saat formatında saat (0-23)
k 24 saat formatında saat (1-24)
K 12 saat formatında saat (0-11)
H 12 saat formatında saat (1-12)
M Dakika
S saniye
S milisaniye
z Şu şekilde biçimlendirilmiş saat dilimi: Pasifik Standart Saati, PST
Z Şu şekilde biçimlendirilmiş saat dilimi: -0800/td>

"Harika! İhtiyacınız olan her şey bu."

"Bu harflerin tekrarlanmasıyla ilgili hala bazı nüanslar var."

"YY yazarsanız yılın son iki hanesini alırsınız. YYYY yazarsanız yılın dört hanesini alırsınız."

"Ayrıca aylarla ilgili bazı karmaşıklıklar da vardır. MM, ayın sayısıdır. MMM, ayın üç harfli bir kısaltmasıdır, yani Ocak, Şubat, Mar, Nisan, Mayıs, vb. MMMM, ayın tam adının kısaltmasıdır. ."

"Ayrıca haftanın tam gününü (EEEE kullanarak) veya yalnızca ilk iki harfi (EE kullanarak) görüntüleyebilirsiniz."

"Teşekkürler Rishi. Bu SimpleDateFormat sınıfı gerçekten faydalı. Artık biliyorum."

"Keyifli kullanmalar! İyi şanslar!"