[JAVA] Kinx Library --DateTime

DateTime

Einführung

** "Sieht aus wie JavaScript, Gehirn (Inhalt) ist Ruby, (Stabilität ist AC / DC)" ** Skriptsprache Kinx ). Die Sprache ist die Bibliothek. Also, wie man die Bibliothek benutzt.

Diesmal ist es DateTime. Ich habe es in Range verfügbar gemacht.

Wie benutzt man

using DateTime

Die DateTime-Bibliothek ist nicht integriert. Verwenden Sie daher die using-Direktive, um sie explizit zu laden.

using DateTime;

Instanziierung

Die Instanziierung erfolgt im Wesentlichen durch Erstellen eines neuen DateTime-Objekts.

Sie können jedoch auch Folgendes tun (geben Sie es einfach intern als neu zurück). Bitte verwenden Sie die, die Sie mögen.

Außerdem interpretiert dateString das folgende Format.

Methode

Das DateTime-Objekt verfügt über die folgenden Methoden.

Methode Betriebsübersicht
isLeapYear() Gibt true zurück, wenn es ein feuchtes Jahr ist
unixtime() Gibt die Unix-Epochenzeit des aktuellen Datums und der aktuellen Uhrzeit zurück
datetime() Gibt ein Objekt zurück, das das aktuelle Datum und die aktuelle Uhrzeit darstellt
year() "Jahr" des aktuellen Datums und der aktuellen Uhrzeit
month() "Monat" des aktuellen Datums und der aktuellen Uhrzeit
day() "Tag" des aktuellen Datums und der aktuellen Uhrzeit
hour() "Uhrzeit" des aktuellen Datums und der aktuellen Uhrzeit
minute() "Minute" des aktuellen Datums und der aktuellen Uhrzeit
second() "Sekunden" des aktuellen Datums und der aktuellen Uhrzeit
weekday() "Woche" des aktuellen Datums und der aktuellen Uhrzeit (0:Sonntag, 1:Montag, ..., 6:Samstag)
isSunday() Gibt am Sonntag wahr zurück
isMonday() Gibt am Montag true zurück
isTuesday() Gibt am Dienstag wahr zurück
isWednesday() Gibt am Mittwoch wahr zurück
isThursday() Gibt am Donnerstag wahr zurück
isFriday() Gibt am Freitag true zurück
isSaturday() Gibt true zurück, wenn Samstag
clone() Gibt eine Kopie des Datums- und Uhrzeitobjekts zurück
addDay(day) Datums- und UhrzeitobjektdayDen Tag vorantreiben (destruktiv)
subDay(day) Datums- und UhrzeitobjektdayTag zurück (destruktiv)
addMonth(month) Datums- und UhrzeitobjektmonthVormonate (destruktiv)
subMonth(month) Datums- und UhrzeitobjektmonthVor einem Monat (destruktiv)
next() Gibt ein neues Datums- und Uhrzeitobjekt zurück, das den nächsten Tag darstellt
+(day) dayGibt ein neues Datums- und Uhrzeitobjekt zurück, das den Tag danach darstellt
-(day) dayGibt ein neues Datums- und Uhrzeitobjekt zurück, das den Vortag darstellt
>>(month) monthGibt ein neues Datums- und Uhrzeitobjekt zurück, das Monate später darstellt
<<(month) monthGibt ein neues Datums- und Zeitobjekt zurück, das den Monat zuvor darstellt
<=>(dt) 0:Gleiches Datum und gleiche Uhrzeit,-1: dtIst das spätere Datum und die spätere Uhrzeit, 1: dtIst das frühere Datum und die frühere Uhrzeit
format(fmtString) fmtStringFormatieren Sie nach dem Format von. Die unterstützten Formate sind wie folgt.
%YYYY%:4-stelliges Jahr,%YY%:Zweistelliges Jahr
%MM%:Zweistelliger Monat,%M%:Mond
%DD%:Zweistelliger Tag,%D%:Tag
%hh%:Wenn es 2 Ziffern sind%h%:Zeit
%mm%:2-stellige Minuten,%m%:Protokoll
%ss%:2-stellige Sekunden,%s%:Sekunden

Ende des Monats

Wenn Sie einen Monat mit "<<" oder ">>" verschieben und im entsprechenden Monat nicht derselbe Tag vorhanden ist, wird stattdessen der letzte Tag dieses Monats verwendet.

using DateTime;
System.println(DateTime("2001-3-28") << 1);  // 2001/02/28 00:00:00
System.println(DateTime("2001-3-31") << 1);  // 2001/02/28 00:00:00

Dies kann sich unerwartet (zusammen mit Ruby) wie folgt verhalten:

using DateTime;
System.println(DateTime("2001-1-31") >> 2);        // 2001/03/31 00:00:00
System.println(DateTime("2001-1-31") >> 1 >> 1);   // 2001/03/28 00:00:00
System.println(DateTime("2001-1-31") >> 1 >> -1);  // 2001/01/28 00:00:00

Range

Um es in Range zu verwenden, können Sie die Methode "next" und die Methode "<=>" definieren. Das DateTime-Objekt kann also in Range verwendet werden.

using DateTime;
(DateTime(2020,1,1)..DateTime(2020,1,10))
    .each(&(d) => System.println(d));

Da es ".." ist, ist der letzte Tag enthalten. Im Fall von "..." ist der letzte Tag nicht enthalten.

2020/01/01 00:00:00
2020/01/02 00:00:00
2020/01/03 00:00:00
2020/01/04 00:00:00
2020/01/05 00:00:00
2020/01/06 00:00:00
2020/01/07 00:00:00
2020/01/08 00:00:00
2020/01/09 00:00:00
2020/01/10 00:00:00

Da es in Range verwendet werden kann, kann es wie bei For-In verwendet werden.

using DateTime;
for (var d in DateTime(2020,1,1)...DateTime(2020,1,10)) {
    System.println(d);
}

Eine Schleife, die den letzten Tag nicht enthält.

2020/01/01 00:00:00
2020/01/02 00:00:00
2020/01/03 00:00:00
2020/01/04 00:00:00
2020/01/05 00:00:00
2020/01/06 00:00:00
2020/01/07 00:00:00
2020/01/08 00:00:00
2020/01/09 00:00:00

abschließend

Es ist ungefähr ein halbes Jahr her, seit ich angefangen habe, es zu machen. Sie können verschiedene Dinge tun. Ist es nicht Ihr nächstes Ziel, die Bibliothek zu bereichern und eine Art App zu erstellen? Wenn Sie schnell eine App für einen Nischenzweck erstellen können, können Sie möglicherweise irgendwo einen Platz finden.

Bis zum nächsten Mal.

Recommended Posts

Kinx Library --DateTime
Kinx-Bibliothek - Getopt
Kinx Library - Prozess
Kinx Library-JIT-Compiler-Bibliothek
Kinx Library-JIT-Compiler-Bibliothek (Extra Edition)