LocalDateTime Kullanımı
Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 56 / 59.
Java'daki LocalDateTime, tarih ve saati bir araya getirir. Etkinlik programları veya zaman damgaları gibi her iki bileşenle de çalışmanız gerektiğinde kullanışlıdır.
Geçerli tarih ve saati oluştur
LocalDateTime now = LocalDateTime.now();Belirli bir tarih ve saat oluşturun:
LocalDateTime dateTime = LocalDateTime.of(2024, 3, 15, 14, 30);
// 2024-03-15 14:30Yukarıdaki kodu çalıştırdıktan sonra, dateTime şunu içerir:
2024-03-15T14:30
Bir tarih ve saati biçimlendirin:
LocalDateTime dateTime = LocalDateTime.of(2024, 3, 15, 14, 30);
String formatted = dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));Aynı desenle bir String'den tarih ve saat ayrıştırın:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
LocalDateTime parsed = LocalDateTime.parse("2024-03-15 14:30", formatter); // 2024-03-15T14:30Biçimlendirici olmadan LocalDateTime.parse() yalnızca ISO biçimini, yani 2024-03-15T14:30 değerini kabul eder. Desene uymayan bir dize DateTimeParseException hatası fırlatır; bu nedenle çağrıyı LocalDate.parse() ile yaptığın gibi try-catch içine al.
Görev
KolayDört argüman alan processDateTime adlı bir metot oluştur:
- "yyyy-MM-dd HH:mm" biçiminde bir String (
dateTimeStr) - Eklenecek veya çıkarılacak bir tam sayı (
amount) - "hours", "days" veya "months" değerlerinden biri olan bir String (
unit) - "add" veya "subtract" değerlerinden biri olan bir String (
operation)
Metot şunları yapmalıdır:
- Girdi tarih-saat dizesini ayrıştırmak
- Belirtilen işlemi gerçekleştirmek
- Sonuç hakkında biçimlendirilmiş bilgi döndürmek
Döndürülecek mesajlar şunlar olmalıdır:
- Biçim geçersizse: "Invalid date time format" döndür
- Birim geçersizse: "Invalid unit" döndür
- İşlem geçersizse: "Invalid operation" döndür
- Başarılıysa: "Original: [datetime], New: [new_datetime], Day: [day_name]" döndür; her iki tarih-saat de
yyyy-MM-dd HH:mmbiçiminde yazılmalı ve [day_name], yeni tarih-saatin haftanın gününün büyük harflerle yazılmış hâli olmalıdır (ör.FRIDAY)
Kendin dene
import java.util.Scanner;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
public class Main {
public static String processDateTime(String dateTimeStr, int amount, String unit, String operation) {
// Kodunuzu buraya yazın
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String dateTimeStr = scanner.nextLine();
int amount = Integer.parseInt(scanner.nextLine());
String unit = scanner.nextLine();
String operation = scanner.nextLine();
System.out.println(processDateTime(dateTimeStr, amount, unit, operation));
}
}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