[Ruby] Grundlagen zu Datum, Uhrzeit und Datumszeit

Datumsklasse

Beispiel)Verwendung der Date-Klasse


require "date"   #Erforderlich, da es sich auf eine externe Datei bezieht und die Klasse erhält

#heutige Methode
  today = Date.today           #heute
  today - 1                    #gestern
  today.year                   #Jahr
  today.mon                    #Mond
  today.mday                   #Tag
  today.wday                   #Tag
  today.strftime('%a')         # "Sat"

#Existiert das Datum?
Date.valid_date?(2020, 9, 5)   # true
Date.valid_date?(2020, 9, 31)  # false
Date::exist?(2001, 1, 31)      # 2451941(Julius kehrt den Tag zurück)
Date::exist?(2001, 1, 32)      # false

# Date::new1 Methode(Julius Tag)
  #Julius Tag:1. Januar 4713 v(Julius Kalender)Mittag(Greenwich durchschnittliche Zeit)Anzahl der Tage, die vergangen sind, als
julius = Date::exist?(2001, 1, 31) #Anzahl der verstrichenen Tage(2451941)
Date::new1(julius).to_s      # "2001-01-31"

# eap?Methode(Ist es ein feuchtes Jahr?? )
Date.new(2000).leap?   # true
Date.new(2001).leap?   # false

#Analysemethode
date = Date.parse("2020-09-05")  #Erstellen Sie ein Datumsobjekt basierend auf Argumenten
Date.parse(str_time).to_time     #Vom Datums- zum Uhrzeittyp konvertieren(* Die Zeit ist 00:00:00 werden)

#neue Methode(Wird verwendet, um eine Instanz einer Klasse zu erstellen)
  input = Date.new(2020, 9, 5)   #Erstellen Sie ein Datumsobjekt basierend auf Argumenten
  input += 10                    #Holen Sie sich 10 Tage später
  input - date                   # 10
  Date.new(2020, 9, -1)          #Wenn das dritte Argument negativ ist, wird vom letzten Tag an gezählt(※ -1 ist der letzte Tag)。

Zeitklasse (Datum und Uhrzeit)

--Klasse, die Datum und Uhrzeit in UNIX-Zeit behandelt

Beispiel)Verwendung der Zeitklasse


require "time"

now = Time.current               #Aktuelle Uhrzeit
Time.mktime(2000, 1, 1).yday     # 2000/1/Tage ab 1
Time.parse(str_time).to_date     #Vom Zeittyp in den Datumstyp konvertieren

today = Time.now()               #Aktuelle Uhrzeit( 2020-06-17 19:30:02 +0000 )
  today.year                     #Jahr(2020)
  today.month                    #Mond(6)
  today.day                      #Tag(17)

  now.yesterday                #gestern
  now.tomorrow                 #nächster Tag
  now.ago(3.days)              #● vor Tagen
  now.prev_day(3)
  now.since(3.days)            #● Tage später
  now.next_day(3)

  now.beginning_of_week        #Erster der Woche
  now.end_of_week              #Ende dieser Woche
  now.prev_week(:monday)       #Letzten Montag
  now.next_week(:monday)       #Am kommenden Montag

  now.prev_month               #Im vergangenen Monat
  now.next_month               #Nächsten Monat
  now.ago(3.month)             #● vor Monaten
  now.prev_month(3)
  now.since(3.month)           #● Monate später
  now.next_month(3)
  now.beginning_of_month       #Anfang des Monats
  now.end_of_month             #Ende des Monats

  now.prev_year                #Vorheriges Jahr
  now.next_year                #nächstes Jahr
  now.ago(3.years)             #● vor Jahren
  now.prev_year(3)
  now.since(3.years)           #● Jahre später
  now.next_year(3)

#Analysemethode
Time.parse("2020-09-05 12:22:50")
Time.parse("2020/09/05 12:22:50")
Time.parse("2020-09/05 12:22:50")
Time.parse("20200905 122250")
Time.parse("20200905122250")
Time.parse("2020/09/05 12")         # 2020-09-05 12:00:00 +0900
Time.parse("2020/09/05 12:22")      # 2020-09-05 12:22:00 +0900
  #Kann gewechselt werden
  Time.parse("2020.06.17 12:00:00") do |year|
    if year < 100
      if year >= 69
        year + 1900
      else
        year + 2000
      end
      year
    end
  end

#gm Methode, utc Methode(Vereinbarung Weltzeit)
Time.gm(2001, 5, 20, 23, 59, 59)    # Sun May 20 23:59:59 UTC 2001
#lokale Methode, mktime-Methode(Ortszeit)
Time.local(2001, 5, 20, 23, 59, 59) # Sun May 20 23:59:59 JST 2001

#String(14 Ziffern)Umstellung auf
now.to_s                        # '20200905122250'
now.insert(8, ' ')              # '20200905 122250' (Fügen Sie ein Leerzeichen in die 8. Ziffer ein)

DateTime-Klasse

Beispiel)Verwendung der DateTime-Klasse


require "date"

date = DateTime.now    #Aktuelles Datum und Uhrzeit(2020-09-05 17:08:37 +0900)
DateTime.now - 1       #gestern

input = DateTime.new(2020, 9, 5, 17, 8, 37)
date = DateTime.parse('2020-09-05T17:08:37')
  date += 10
  date - input                 # 10
  date.year                    # 2020
  date.strftime('%a')          # "Sat"
  date.strftime("%Y Jahr%m Monat%d Tag") #5. September 2020

Strftime-Methode

Notation Bedeutung Beispiel
%A Tag Sunday,Monday,..
%a Tag(Kurzbezeichnung) Sun,Mon,..
%B Mond January,February,..
%b Mond(Kurzbezeichnung) Jan, Feb,..
%c Datum (und Uhrzeit
%d Tag 01-31
%H Zeit(24h) 00-23
%I Zeit(12h) 01-12
%j Gesamtdatum des Jahres 001-366
%M Protokoll 00-59
%m Mond(Zahlen) 01-12
%p Morgen oder Nachmittag AM,PM
%S Sekunden 00-60(※60はうるうSekunden)
%U Woche(Zahlen)* Beginn am Sonntag 00-53
%W Woche(Zahlen)* Ab Montag 00-53
%w Tag(Zahlen)※日Tagが0 0-6
%X Tageszeiten 09
%x Datum 09/20/20
%Y ANZEIGE 2020
%y ANZEIGE(Letzte 2 Ziffern) 00-99
%Z Zeitzone JST
%% Prozentzeichen

Recommended Posts

[Ruby] Grundlagen zu Datum, Uhrzeit und Datumszeit
Ruby-Grundlagen
Erläuterung der Ruby Time- und Date-Objekte
Grundlagen von Ruby
[Ruby] Zusammenfassung der Klassendefinitionen. Beherrsche die Grundlagen.
Informationen zum Datums- / Uhrzeittyp der Entitätsklasse von Doma2
Verwendung der Datumsklasse
[Java] Datums- / Zeitoperationen
[Schienen] Vorsichtsmaßnahmen beim Vergleich von Datum und Uhrzeit mit DateTime
Ruby on Rails Grundlagen
[Ruby] Klassenverschachtelung, Vererbung und die Grundlagen des Selbst
Umgang mit Datum und Uhrzeit in Ruby. Verwenden Sie Datum und Uhrzeit richtig.
Was ist die LocalDateTime-Klasse? [Java-Anfänger] -Datum und Zeitklasse-
[GCD] Grundlagen der DispatchQueue-Klasse
Schreiben Sie die Klassenvererbung in Ruby
Was sind Ruby-Klassenmethoden?
[Ruby] Klassenmethoden, Instanzmethoden usw.
[Java-Grundlagen] Was ist Klasse?
Welche Klasse sollte verwendet werden, um Datum und Uhrzeit in der Rails-App abzurufen (Time, DateTime, TimeWithZone)?