package main
import (
"fmt"
"time"
)
func main() {
// 假设的开始时间和结束时间
startTime, _ := time.Parse("2006-01-02 15:04:05", "2023-10-01 10:00:00")
endTime, _ := time.Parse("2006-01-02 15:04:05", "2023-10-01 11:30:00")
// 计算事件持续时长
duration := endTime.Sub(startTime).Seconds()
fmt.Printf("事件持续时长: %.0f 秒\n", duration)
// 获取当前时间
currentTime := time.Now()
// 判断当前时间是否在时间区间内
if currentTime.After(startTime) && currentTime.Before(endTime) {
fmt.Println("当前时间在这个时间区间内")
} else {
fmt.Println("当前时间不在这个时间区间内")
}
}
- 解析时间:使用
time.Parse
函数将字符串形式的时间解析为time.Time
类型。这里的时间格式"2006-01-02 15:04:05"
是Go语言中的时间格式化模板。
- 计算持续时长:使用
Sub
方法计算两个time.Time
类型时间点的差值,再通过Seconds
方法将差值转换为秒数。
- 判断当前时间:使用
After
和Before
方法判断当前时间是否在给定的开始时间和结束时间之间。