Метод time.Time.Before
Метод Before сравнивает два момента времени.
Он вызывается на объекте time.Time и принимает
в качестве аргумента другой объект time.Time.
Метод возвращает true, если время, на котором
он вызван, наступает раньше (строго раньше) переданного
времени. В противном случае возвращается false.
Важно: сравнение происходит с учетом часового пояса,
но сами объекты Time должны быть приведены к
общему знаменателю (обычно к UTC) для корректного
сравнения, хотя метод корректно обрабатывает разные
часовые пояса, приводя их к UTC внутри себя.
Синтаксис
t.Before(u)
где t и u - значения типа time.Time.
Пример
Давайте создадим два момента времени и проверим, предшествует ли первый второму:
package main
import (
"fmt"
"time"
)
func main() {
t1 := time.Date(2026, time.September, 4, 12, 0, 0, 0, time.UTC)
t2 := time.Date(2026, time.September, 5, 12, 0, 0, 0, time.UTC)
res := t1.Before(t2)
fmt.Println(res)
}
Результат выполнения кода:
true
Пример
Теперь проверим случай, когда время не предшествует, а совпадает:
package main
import (
"fmt"
"time"
)
func main() {
t1 := time.Date(2026, time.September, 4, 12, 0, 0, 0, time.UTC)
t2 := time.Date(2026, time.September, 4, 12, 0, 0, 0, time.UTC)
res := t1.Before(t2)
fmt.Println(res)
}
Результат выполнения кода:
false
Пример
Рассмотрим случай, когда время позже:
package main
import (
"fmt"
"time"
)
func main() {
t1 := time.Date(2026, time.September, 5, 12, 0, 0, 0, time.UTC)
t2 := time.Date(2026, time.September, 4, 12, 0, 0, 0, time.UTC)
res := t1.Before(t2)
fmt.Println(res)
}
Результат выполнения кода:
false
Смотрите также
-
метод
time.Time.After,
который проверяет, наступает ли время после указанного -
метод
time.Time.Equal,
который проверяет равенство двух моментов времени -
метод
time.Time.Sub,
который вычисляет разницу между двумя моментами времени -
функцию
time.Now,
которая возвращает текущее локальное время