package helper import ( "fmt" "testing" "time" ) func TestParse(t *testing.T) { got, err := Parse("2024-10-01 10:26:57") if err != nil { t.Errorf("TestParse() error = %v", err) return } t.Log(got) got2, err := Parse2("2024-10-01 10:26:57") if err != nil { t.Errorf("TestParse() error = %v", err) return } t.Log(got2) } func TestDateStringToTime(t *testing.T) { got, err := DateStringToTime("2024-01-01 00:00:00") if err != nil { t.Errorf("DateStringToTime() error = %v", err) return } t.Log(got) got2, err := DateStringToTime("2024-01-01 00:00:00") if err != nil { t.Errorf("DateStringToTime() error = %v", err) return } t.Log(got2) t.Log(got.Equal(got2)) } func TestIsTimeBefore(t *testing.T) { bes, err := DateStringToTime("2024-01-12 00:00:00") if err != nil { t.Errorf("DateStringToTime() error = %v", err) return } bts, err := DateStringToTime("2024-01-20 00:00:00") if err != nil { t.Errorf("DateStringToTime() error = %v", err) return } b := IsTimeBefore(bes, bts) t.Log(b) // false } func TestIsInSameNaturalMonth(t *testing.T) { startTime, err := DateStringToTime("2024-01-12 12:12:12") if err != nil { t.Errorf("DateStringToTime() error = %v", err) return } endTime, err := DateStringToTime("2024-02-12 12:12:12") if err != nil { t.Errorf("DateStringToTime() error = %v", err) return } b := IsInSameNaturalMonth(startTime, endTime) t.Log(b) // false } func TestRFC3339(t *testing.T) { // 输入的时间字符串 availableBeginTimeStr := "2025-03-07T00:00:00+08:00" availableEndTimeStr := "2025-06-05T23:59:59+08:00" // 定义输入时间字符串的格式 inputFormat := time.RFC3339 // 解析开始时间 availableBeginTime, err := time.Parse(inputFormat, availableBeginTimeStr) if err != nil { fmt.Printf("解析开始时间出错: %v\n", err) return } // 解析结束时间 availableEndTime, err := time.Parse(inputFormat, availableEndTimeStr) if err != nil { fmt.Printf("解析结束时间出错: %v\n", err) return } // 定义输出时间的格式 outputFormat := "2006-01-02 15:04:05" // 格式化开始时间 formattedBeginTime := availableBeginTime.Format(outputFormat) // 格式化结束时间 formattedEndTime := availableEndTime.Format(outputFormat) // 输出格式化后的时间 fmt.Printf("格式化后的开始时间: %s\n", formattedBeginTime) fmt.Printf("格式化后的结束时间: %s\n", formattedEndTime) }