O Das Folgende wird in der Tutorial-Kolumne von lGolang
eingeführt, um die Go-Carbon 1.2.0-Version vorzustellen. Ich hoffe, es wird den Freunden in Not hilfreich sein!
carbon ist eine leichte, semantische, entwicklerfreundliche Golang-Zeitverarbeitungsbibliothek, die Kettenaufrufe und gängige ORMs wie gorm und xrom unterstützt.
Wenn Sie es für gut halten, geben Sie ihm bitte einen Stern
github:github .com/golang-module/carbon
gitee:gitee.com/go-package/carbon
Installation und Verwendung
// 使用github库
go get -u github.com/golang-module/carbon
import (
"github.com/golang-module/carbon")
// 使用gitee库
go get -u gitee.com/go-package/carbon
import (
"gitee.com/go-package/carbon")
Nach dem Login kopieren
DatenbankunterstützungAngenommen, die Datentabelle enthält Benutzer und die Felder haben die ID (int )
Felder des Ausgabemodells
type UserModel struct {
ID int64 `json:"id"` Name string `json:"name"` Age int `json:"age"` Birthday carbon.Carbon `json:"birthday"` CreatedAt carbon.ToDateTimeString `json:"created_at"` DeletedAt carbon.ToTimestamp `json:"deleted_at"` GraduatedAt carbon.ToDateString `json:"graduated_at"` UpdatedAt carbon.ToTimeString `json:"updated_at"`}
Nach dem Login kopieren
JSON-Ausgabemodell
user := UserModel {
Name: "勾国印", Age: 18, Birthday: carbon.Now().SubYears(18), CreatedAt: carbon.ToDateTimeString{carbon.Now()}, DeletedAt: carbon.ToTimestamp{carbon.Parse("2020-08-05 13:14:15")}, GraduatedAt: carbon.ToDateString{carbon.Parse("2012-09-09")}, UpdatedAt: carbon.ToTimeString{carbon.Now()},}
Nach dem Login kopieren
Update-Protokoll
Perfekte Unit-Tests, Codeabdeckung 100 %
Perfekte und optimierte Multi-Szenario-Unterstützung für ORM
Unify Ausnahmebehandlung
Vereinheitlichen Sie die Benennungsregeln für Ausgabefunktionen, ändern Sie Format() in ToFormatString()
Fügen Sie die Methode CreateFromGoTime(t time.Time) hinzu, um Carbon-Instanzen aus nativer Zeit zu erstellen.Time
- Optimieren Sie die Code-Organisationsstruktur, sie ist nicht vererbbar Die endgültige Methode ist in der final.go-Datei vereinheitlicht.
- Verzichten Sie auf die Initialisierungsfunktion New(), die direkt ohne Initialisierung verwendet werden kann. )-Methode analysiert eine Dauerzeichenfolge (relativ zum heutigen Tag) und unterstützt positive und negative ganze Zahlen/Floats und Symbole ns (Nanosekunden), us (Mikrosekunden), ms (Millisekunden), s (Sekunden), m (Minuten), h (Stunden).
- Methoden NextYears(), NextYear(), PreYears(), PreYear() hinzugefügt, um das Phänomen sich überschneidender Monate beim Addieren/Subtrahieren eines bestimmten Jahres zu verhindern
- NextMonths(), NextMonth(), PreMonths(), PreMonth( hinzugefügt )-Methode, um das Phänomen der Überschneidung von Monaten nach dem Addieren/Subtrahieren des angegebenen Monats zu verhindern.
- New DaysInYear()-Methode, um die Gesamtzahl der Tage in diesem Jahr zu erhalten.
- New DaysInMonth()-Methode, um die Gesamtzahl der Tage in diesem Monat zu erhalten
- Methode „MonthOfYear()“ hinzugefügt, um den Tag des Jahres zu erhalten.
- Methode „DayOfYear()“ hinzugefügt, um den Tag des Jahres zu erhalten.
- Methode „DayOfMonth()“ hinzugefügt, um den Tag des Monats zu erhalten Holen Sie sich den Tag der Woche
- WeekOfYear()-Methode hinzugefügt, um die Woche des Jahres zu erhalten
- WeekOfMonth()-Methode hinzugefügt, um die Woche des Monats zu erhalten
- IsZero()-Methode hinzugefügt, um zu bestimmen, ob es sich um eine Nullwertzeit handelt
- IsFuture()-Methode hinzugefügt, um zu bestimmen, ob es sich um eine zukünftige Zeit handelt.
- IsPast()-Methode hinzugefügt, um zu bestimmen, ob es sich um eine vergangene Zeit handelt.
- IsNow()-Methode hinzugefügt, um zu bestimmen, ob es sich um eine aktuelle Zeit handelt
Das obige ist der detaillierte Inhalt vongo-carbon1.2.0 ist veröffentlicht! Verbessern und optimieren Sie die Multi-Szenario-Unterstützung für ORM. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!