Tarih Biçimlendirme
Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 58 / 59.
Java'daki DateTimeFormatter, tarihleri ve saatleri farklı biçimlerde biçimlendirmenizi sağlar. LocalDate, LocalTime ve LocalDateTime ile kullanılabilir.
Belirli bir desenle biçimlendirici oluşturun:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");Bir tarihi biçimlendirici kullanarak biçimlendirin:
LocalDate date = LocalDate.of(2024, 3, 15);
String formatted = date.format(formatter);Yukarıdaki kodu çalıştırdıktan sonra formatted şunu içerir:
2024-03-15
Bir dizeyi tarihe dönüştürün:
String dateStr = "2024-03-15";
LocalDate date = LocalDate.parse(dateStr, formatter);Her iki adım da başarısız olabilir. DateTimeFormatter.ofPattern(), örneğin ofPattern("invalid") gibi desenin kendisi geçersiz olduğunda IllegalArgumentException fırlatır; çünkü i bir desen harfi değildir. LocalDate.parse(), metin desenle eşleşmediğinde veya gerçek bir tarih olmadığında (örneğin "2024-13-45") DateTimeParseException fırlatır. IllegalArgumentException, java.lang içindedir; bu nedenle import gerektirmez:
try {
DateTimeFormatter f = DateTimeFormatter.ofPattern(pattern);
LocalDate d = LocalDate.parse(text, f);
} catch (DateTimeParseException e) {
// metin, desenle eşleşmiyor
} catch (IllegalArgumentException e) {
// desen geçersiz
}Görev
KolayformatDate adlı, üç argüman alan bir metot oluştur:
- Bir String (
dateStr): giriş deseninde yazılmış tarih - Bir String (
inputPattern): giriş tarihinin deseni - Bir String (
outputPattern): istenen çıktı deseni
Metot şunları yapmalıdır:
- Giriş tarihini giriş desenini kullanarak ayrıştırmak
- Tarihi çıktı desenini kullanarak biçimlendirmek
- Şu desenleri ele almak:
- "basic": "yyyy-MM-dd"
- "long": "MMMM d, yyyy"
- "short": "MM/dd/yy"
- "custom": Gerçek desen dizgesi
Döndürülecek mesajlar:
- Tarih geçersizse: "Invalid date format" döndür
- Desen geçersizse: "Invalid pattern" döndür
- Başarılı olursa: biçimlendirilmiş tarihi döndür
Kendin dene
import java.util.Scanner;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
public class Main {
public static String formatDate(String dateStr, String inputPattern, String outputPattern) {
// Kodunuzu buraya yazın
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String dateStr = scanner.nextLine();
String inputPattern = scanner.nextLine();
String outputPattern = scanner.nextLine();
System.out.println(formatDate(dateStr, inputPattern, outputPattern));
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık & Akış bölümündeki tüm dersler
1Çok Boyutlu Diziler
2D Diziler Temelleri2D Dizi Elemanlarına Erişim2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaJagged Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey4HashSet 1. Kısım
HashSet Nedir?Eleman EklemeEleman KaldırmaElemanın Varlığını Kontrol EtmeBoş mu ve BoyutTemizle ve KlonlaÖzet - HashSet10Tarih ve Saat
LocalDate TemelleriLocalTime İşlemleriLocalDateTime KullanımıPeriod ve DurationTarih BiçimlendirmeZaman Dilimi Yönetimi2HashMap Bölüm 1
HashMap Nedir?HashMap TanımlamaDeğerlere ErişimAnahtarın Varlığını Kontrol EtmeSözlükleri DeğiştirmeÖzet - HashMap3HashMap Bölüm 2
HashMap YöntemlerikeySet() ile YinelemeentrySet() ile Yinelemeİç İçe HashMapÖzet - Depo YönetimiÖzet - HashMap İşlemleri6İleri Akış Kontrolü
Etiketli İfadelerSwitch İfadesiDesen EşleştirmeKoruyucu Yan CümlelerÖzet - Akış Kontrolü9Proje - Benzersiz Kelime Sayacı
Metin Girişi ve DepolamaKelime İşlemeKendi başına pratik yap: Online Java derleyicisi