Verwendung der Zeitverarbeitungsbibliothek in der Go-Sprache

WBOY
Freigeben: 2023-06-03 12:10:33
Original
610 Leute haben es durchsucht

In der Softwareentwicklung ist die Bearbeitungszeit ein immer wiederkehrendes Thema. Insbesondere in großen Systemen ist Zeit ein wesentlicher Bestandteil bei der Aufzeichnung von Ereignissen, der Planung von Aufgaben und der Analyse von Daten. Daher wird die Verwendung einer geeigneten Zeitverarbeitungsbibliothek zu einer sehr wichtigen Aufgabe. In diesem Artikel wird die Verwendung der Zeitverarbeitungsbibliothektimein der Go-Sprache vorgestellt.time

时间的表示

在Go语言中,我们可以使用time.Time类型来表示时间。一个Time类型的值包含了年、月、日、时、分、秒、纳秒和时区信息。这个类型是内置的,因此我们不需要安装任何额外的库来使用它。

获取当前时间

获取当前本地时间的方法是使用time.Now()函数。它会返回一个time.Time类型的时间对象,该对象表示程序运行时的当前时间。

func main() { current_time := time.Now() fmt.Println(current_time) }
Nach dem Login kopieren

输出结果:

2021-05-17 16:34:22.7241986 +0800 CST m=+0.000731901
Nach dem Login kopieren

时间格式化

将时间按照不同的格式显示是很常见的需求。在Go语言中,我们可以使用time.Format()函数来进行时间格式化。这个函数接收一个格式字符串,根据这个格式将时间对象转换成对应的字符串。

func main() { current_time := time.Now() formatted_time := current_time.Format("2006-01-02 15:04:05") fmt.Println(formatted_time) }
Nach dem Login kopieren

输出结果:

2021-05-17 16:34:22
Nach dem Login kopieren

在格式化字符串中,几个常用的占位符如下:

占位符 含义
2006 固定为4位的年份,表示是一种标准
01 固定为2位的月份,不足两位左侧补0
02 固定为2位的日期,不足两位左侧补0
15 固定为2位的小时,24小时制,不足两位左侧补0
04 固定为2位的分钟,不足两位左侧补0
05 固定为2位的秒,不足两位左侧补0

时间操作

Go语言的时间处理库还提供了一些时间操作方法。

增加或减少时长

time.Add()方法可以让我们添加或减少一段时间:

func main() { current_time := time.Now() after_one_hour := current_time.Add(time.Hour) fmt.Println(after_one_hour) }
Nach dem Login kopieren

输出结果:

2021-05-17 17:34:22.6523704 +0800 CST m=+3601.928903701
Nach dem Login kopieren

在这个例子中,我们使用了time.Hour表示一个小时的时长,然后使用Add()方法将当前时间加上这段时长。这个方法的返回值是一个时间对象,它表示了当前时间往后一小时的时间点。

我们同样可以使用time.Sub()方法来计算两个时间之间的时间差:

func main() { start_time := time.Now() end_time := time.Now().Add(time.Hour) duration := end_time.Sub(start_time) fmt.Println(duration) }
Nach dem Login kopieren

输出结果:

1h0m0s
Nach dem Login kopieren

这里的计算结果是一个time.Duration类型的值,它表示两个时间点之间的时长。

设置时间

time.Date()方法可以让我们根据指定的年、月、日、时、分、秒以及时区创建一个时间对象:

func main() { t := time.Date(2021, 5, 17, 15, 30, 0, 0, time.Local) fmt.Println(t) }
Nach dem Login kopieren

输出结果:

2021-05-17 15:30:00 +0800 CST
Nach dem Login kopieren

获取时间信息

Time

Darstellung der Zeit

In der Go-Sprache können wir den Typ time.Timeverwenden, um die Zeit darzustellen. Ein Wert vom Typ Timeenthält Informationen zu Jahr, Monat, Tag, Stunde, Minute, Sekunde, Nanosekunde und Zeitzone. Dieser Typ ist integriert, sodass wir keine zusätzlichen Bibliotheken installieren müssen, um ihn zu verwenden.

Erhalten Sie die aktuelle Uhrzeit

Die Möglichkeit, die aktuelle Ortszeit abzurufen, besteht darin, die Funktion time.Now()zu verwenden. Es wird ein Zeitobjekt vom Typ time.Timezurückgegeben, das die aktuelle Zeit darstellt, zu der das Programm ausgeführt wird.

func main() { current_time := time.Now() fmt.Println(current_time.Year()) // 获取年份 fmt.Println(current_time.Month()) // 获取月份 fmt.Println(current_time.Day()) // 获取日期 fmt.Println(current_time.Hour()) // 获取小时数 fmt.Println(current_time.Minute()) // 获取分钟数 fmt.Println(current_time.Second()) // 获取秒数 fmt.Println(current_time.Weekday()) // 获取星期几,0表示星期日 }
Nach dem Login kopieren

Ausgabeergebnis:
    2021 May 17 16 34 22 Monday
    Nach dem Login kopieren

    Zeitformatierung

  • Es ist eine sehr häufige Anforderung, Zeit in verschiedenen Formaten anzuzeigen. In der Go-Sprache können wir die Funktiontime.Format()verwenden, um die Zeit zu formatieren. Diese Funktion empfängt einen Formatstring und wandelt das Zeitobjekt entsprechend diesem Format in den entsprechenden String um.
  • rrreee
  • Ausgabeergebnis:
  • rrreeeIn der Formatzeichenfolge lauten mehrere häufig verwendete Platzhalter wie folgt: tr> Sekunden sind auf 2 Ziffern festgelegt. Wenn weniger als zwei Ziffern vorhanden sind, fügen Sie links eine 0 hinzu. tbody>
    Placeholder Bedeutung tr>
    2006 Das Jahr ist auf 4 Ziffern festgelegt, was darauf hinweist, dass es sich um einen Standard handelt
    01 Der Monat ist auf 2 Ziffern festgelegt und alle fehlenden Ziffern werden links mit Nullen aufgefüllt
    02 Das Datum ist auf 2 Ziffern festgelegt und alle fehlenden Ziffern werden links mit Nullen aufgefüllt
    15 Festgelegt auf 2 Ziffern für die Stunde, 24-Stunden-Format, alle fehlenden Ziffern werden links mit Nullen aufgefüllt
    04 code> Die Minute ist auf 2 Ziffern festgelegt und alle fehlenden Ziffern werden links mit Nullen aufgefüllt
    05

    Zeitoperation

    Die Zeitverarbeitungsbibliothek der Go-Sprache bietet auch einige Methoden zur Zeitmanipulation. Erhöhen oder verringern Sie die DauerMit der Methode time.Add()können wir einen Zeitraum hinzufügen oder verringern: rrreeeAusgabeergebnis: rrreeeIn diesem Beispiel haben wir time.Hour stellt die Dauer einer Stunde dar und verwendet dann die Methode Add(), um die aktuelle Zeit zu dieser Dauer hinzuzufügen. Der Rückgabewert dieser Methode ist ein Zeitobjekt, das den Zeitpunkt eine Stunde nach der aktuellen Uhrzeit darstellt. Wir können auch die Methode time.Sub()verwenden, um die Zeitdifferenz zwischen zwei Zeitpunkten zu berechnen: rrreeeAusgabeergebnis: rrreeeDas Berechnungsergebnis hier ist eine time.Duration Ein Wert vom Typ, der die Zeitspanne zwischen zwei Zeitpunkten darstellt. Zeit einstellenMit der Methode time.Date()können wir ein Zeitobjekt basierend auf dem angegebenen Jahr, Monat, Tag, Stunde, Minute, Sekunde und Zeitzone erstellen: rrreeeAusgabe Ergebnis: rrreeeZeitinformationen abrufenDer Typ Timebietet einige Methoden zum Abrufen von Zeitinformationen, wie Jahr, Monat, Tag, Stunde, Minute, Sekunde usw. Im Folgenden sind einige häufig verwendete Methoden aufgeführt: rrreeeAusgabeergebnisse: rrreeeReferenzdokumentation[Offizielle Dokumentation der Go-Sprache](https://golang.org/pkg/time/)[Verwendung von Golang-Zeit und Datum] (https://www.runoob.com/w3cnote/go-datetime.html)

    Das obige ist der detaillierte Inhalt vonVerwendung der Zeitverarbeitungsbibliothek in der Go-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn