Introduktion till datum och tid i Java

Input/Output och strömmar i Java

Alex Liu

Software Development Engineer

Skapa datumobjekt

  • Klassen LocalDate
    • Representerar datum utan tid
  • Klassen LocalTime
    • Representerar tid utan datum
  • Importera nödvändiga klasser
import java.time.LocalDate;
import java.time.LocalTime;
Input/Output och strömmar i Java

Skapa datumobjekt (forts.)

  • Hämta aktuellt datum och tid med .now()
    LocalDate date = LocalDate.now();
    LocalTime time = LocalTime.now();
    System.out.println(date);
    System.out.println(time);
    
  • (Obs: Tiden varierar beroende på när programmet körs)
2025-03-10
12:45:30.123456
Input/Output och strömmar i Java

Formatera datum i Java

  • DateTimeFormatter
    • Definiera anpassade datumformat
    • Stöder flera mönster som yyyy-MM-dd, MM/dd/yyyy
  • Importera nödvändiga klasser
    import java.time.LocalDate;
    import java.time.format.DateTimeFormatter;
    
Input/Output och strömmar i Java

Formatera datum i Java (forts.)

  • Skapa en LocalDate-instans date
LocalDate date = LocalDate.now(); // Current format we have will be: `2025-03-10`
  • Skapa en DateTimeFormatter med mönstret MM/dd/yyyy via .ofPattern()
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
  • Tillämpa DateTimeFormatter med metoden .format()
System.out.println(date.format(formatter))
03/10/2025
Input/Output och strömmar i Java

Parsa en sträng till datum

  • Använd LocalDate.parse() för att konvertera text till ett datum

    • Se till att formatet stämmer överens med indatasträngen
  • Använd .parse() med text i formatet yyyy-MM-dd för att parsa till ett Date-objekt

    LocalDate parsedDate = LocalDate.parse("2024-03-10");
    System.out.println(parsedDate);
    
  • Utskrift av Date-objektet ger:

    2024-03-10
    
Input/Output och strömmar i Java

Justera datum

  • Använd .plusDays() och .minusDays() för att justera datum
LocalDate date = LocalDate.now();
// Current value:
System.out.println(date); 
// Apply `.plusDays()` with value `7`
LocalDate futureDate = date.plusDays(7);
// Value after adjustment
System.out.println(futureDate);
2025-03-10
2025-03-17
Input/Output och strömmar i Java

Justera datum (forts.)

  • Tillämpa .minusDays() med värdet 7
    LocalDate pastDate = date.minusDays(7);
    System.out.println(pastDate);
    
  • Aktuellt värde för pastDate:
    2025-03-03
    
Input/Output och strömmar i Java

Sammanfattning

  • LocalDate och LocalTime hanterar datum och tid separat
    • Obs: Tiden varierar beroende på när programmet körs
    • .parse() konverterar text till ett datum
    • .now() hämtar aktuellt datum/tid
  • DateTimeFormatter formaterar och parsar datum
    • Definiera anpassade datumformat
    • Stöder flera mönster som yyyy-MM-dd, MM/dd/yyyy
  • Utför datumberäkningar med .plusDays() och .minusDays()`
Input/Output och strömmar i Java

Nu kör vi en övning!

Input/Output och strömmar i Java

Preparing Video For Download...