github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/timelib/working_day_test.go (about)

     1  package timelib
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestGetTodayFirstSecInLocation(t *testing.T) {
    11  	tt := assert.New(t)
    12  	t0, _ := time.Parse(time.RFC3339, "2017-03-27T23:58:59+08:00")
    13  	mtl0 := GetTodayFirstSecInLocation(t0, CST)
    14  	tt.Equal("2017-03-27T00:00:00+08:00", mtl0.Format(time.RFC3339))
    15  	tt.Equal(int64(1490544000), time.Time(mtl0).Unix())
    16  }
    17  
    18  func TestGetTodayLastSecInLocation(t *testing.T) {
    19  	tt := assert.New(t)
    20  	t0, _ := time.Parse(time.RFC3339, "2017-03-27T23:58:59+08:00")
    21  	mtl0 := GetTodayLastSecInLocation(t0, CST)
    22  	tt.Equal("2017-03-27T23:59:59+08:00", mtl0.Format(time.RFC3339))
    23  	tt.Equal(int64(1490630399), time.Time(mtl0).Unix())
    24  }
    25  
    26  func TestAddWorkingDaysInLocation(t *testing.T) {
    27  	tt := assert.New(t)
    28  	t0, _ := time.Parse(time.RFC3339, "2017-03-27T23:58:59+08:00")
    29  	mtl0 := AddWorkingDaysInLocation(t0, 10, CST)
    30  	tt.Equal("2017-04-10T23:58:59+08:00", mtl0.Format(time.RFC3339))
    31  	tt.Equal(int64(1491839939), time.Time(mtl0).Unix())
    32  }
    33  
    34  func TestTime(t *testing.T) {
    35  	//tt := assert.New(t)
    36  	fomat := "20060102150405"
    37  	t0, _ := time.ParseInLocation(fomat, "20160312104325", CST)
    38  	datetime := MySQLDatetime(t0)
    39  	t.Logf("====%s\n", datetime.String())
    40  }
    41  
    42  func TestTime2(t *testing.T) {
    43  	//tt := assert.New(t)
    44  	fomat := "20060102150405"
    45  	datetime, _ := ParseMySQLDatetimeFromStringWithFormatterInCST("20160312104325", fomat)
    46  	t.Logf("====%s\n", datetime.String())
    47  }
    48  
    49  func TestDateDiff(t *testing.T) {
    50  	startTime1, _ := time.Parse(time.RFC3339, "2018-03-31T12:00:00+08:00")
    51  	startTime2, _ := time.Parse(time.RFC3339, "2018-04-01T12:00:00+08:00")
    52  	startTime3, _ := time.Parse(time.RFC3339, "2018-04-30T12:00:00+08:00")
    53  	endTime1 := time.Now()
    54  	t.Logf("%s - %s = %d\n", endTime1, startTime1, CountDateDiff(startTime1, endTime1, CST))
    55  	t.Logf("%s - %s = %d\n", endTime1, startTime2, CountDateDiff(startTime2, endTime1, CST))
    56  	t.Logf("%s - %s = %d\n", endTime1, startTime3, CountDateDiff(startTime3, endTime1, CST))
    57  	t.Logf("%s - %s = %d\n", endTime1, endTime1, CountDateDiff(endTime1, endTime1, CST))
    58  }