Как работать с датой в golang?

Пользователь

от kole_will , в категории: Общие вопросы , 5 месяцев назад

Как работать с датой в golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

1 ответ

Пользователь

от madalyn.cremin , 5 месяцев назад

@kole_will 

В Go есть пакет time, который предоставляет функции и типы данных для работы с датой и временем. Вот примеры некоторых основных операций:

  1. Получение текущей даты и времени:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
package main

import (
	"fmt"
	"time"
)

func main() {
	currentTime := time.Now()
	fmt.Println("Текущая дата и время:", currentTime)
}


  1. Работа со строками даты и времени:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
package main

import (
	"fmt"
	"time"
)

func main() {
	layout := "2006-01-02" // Формат строки даты
	str := "2022-12-31" // Пример строки даты

	// Парсинг строки даты
	parsedTime, _ := time.Parse(layout, str)
	fmt.Println("Парсинг строки даты:", parsedTime)

	// Форматирование даты в строку
	formattedTime := parsedTime.Format(layout)
	fmt.Println("Форматированная строка даты:", formattedTime)
}


  1. Выполнение операций с датами:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
package main

import (
	"fmt"
	"time"
)

func main() {
	// Добавление дней к текущей дате
	currentTime := time.Now()
	updatedTime := currentTime.AddDate(0, 0, 7)
	fmt.Println("Обновленное время:", updatedTime)

	// Получение разницы между двумя датами
	layout := "2006-01-02"
	startDate, _ := time.Parse(layout, "2022-01-01")
	endDate, _ := time.Parse(layout, "2022-12-31")
	duration := endDate.Sub(startDate)
	fmt.Println("Разница между датами:", duration)
}


Вот лишь некоторые примеры операций с датами в Go. Пакет time предоставляет множество других полезных функций и методов для работы с датой и временем.