mirror of
https://github.com/duke-git/lancet.git
synced 2026-02-04 12:52:28 +08:00
5.4 KiB
5.4 KiB
Datetime
datetime日期时间处理包,格式化日期,比较日期。
源码:
https://github.com/duke-git/lancet/blob/main/datetime/datetime.go
用法:
import (
"github.com/duke-git/lancet/datetime"
)
目录
文档
注:
- 方法FormatTimeToStr和FormatStrToTime中的format参数值需要传以下类型之一:
- yyyy-mm-dd hh:mm:ss
- yyyy-mm-dd hh:mm
- yyyy-mm-dd hh
- yyyy-mm-dd
- yyyy-mm
- mm-dd
- dd-mm-yy hh:mm:ss
- yyyy/mm/dd hh:mm:ss
- yyyy/mm/dd hh:mm
- yyyy-mm-dd hh
- yyyy/mm/dd
- yyyy/mm
- mm/dd
- dd/mm/yy hh:mm:ss
- yyyy
- mm
- hh:mm:ss
- mm:ss
AddDay
将日期加/减天数
函数签名:
func AddDay(t time.Time, day int64) time.Time
例子:
package main
import (
"fmt"
"time"
"github.com/duke-git/lancet/datetime"
)
func main() {
now := time.Now()
after2Days := datetime.AddDay(now, 2)
before2Days := datetime.AddDay(now, -2)
fmt.Println(after2Days, before2Days)
}
AddHour
将日期加/减小时数
函数签名:
func AddHour(t time.Time, hour int64) time.Time
例子:
package main
import (
"fmt"
"time"
"github.com/duke-git/lancet/datetime"
)
func main() {
now := time.Now()
after2Hours := datetime.AddHour(now, 2)
before2Hours := datetime.AddHour(now, -2)
fmt.Println(after2Hours, after2Hours)
}
AddMinute
将日期加/减分钟数
函数签名:
func AddMinute(t time.Time, minute int64) time.Time
例子:
package main
import (
"fmt"
"time"
"github.com/duke-git/lancet/datetime"
)
func main() {
now := time.Now()
after2Minute := datetime.AddMinute(now, 2)
before2Minute := datetime.AddMinute(now, -2)
fmt.Println(after2Minute, before2Minute)
}
GetNowDate
获取当天日期,返回格式:yyyy-mm-dd
函数签名:
func GetNowDate() string
例子:
package main
import (
"fmt"
"time"
"github.com/duke-git/lancet/datetime"
)
func main() {
now := time.Now()
currentDate := datetime.GetNowDate()
fmt.Println(currentDate) // 2022-01-28
}
GetNowTime
获取当时时间,返回格式:hh:mm:ss
函数签名:
func GetNowTime() string
例子:
package main
import (
"fmt"
"time"
"github.com/duke-git/lancet/datetime"
)
func main() {
now := time.Now()
currentTime := datetime.GetNowTime()
fmt.Println(currentDate) // 15:57:33
}
GetNowDateTime
获取当时日期和时间,返回格式:yyyy-mm-dd hh:mm:ss.
函数签名:
func GetNowDateTime() string
例子:
package main
import (
"fmt"
"time"
"github.com/duke-git/lancet/datetime"
)
func main() {
now := time.Now()
current := datetime.GetNowDateTime()
fmt.Println(current) // 2022-01-28 15:59:33
}
GetZeroHourTimestamp
获取零时时间戳(timestamp of 00:00).
函数签名:
func GetZeroHourTimestamp() int64
例子:
package main
import (
"fmt"
"time"
"github.com/duke-git/lancet/datetime"
)
func main() {
now := time.Now()
zeroTime := datetime.GetZeroHourTimestamp()
fmt.Println(zeroTime) // 1643299200
}
GetNightTimestamp
获取午夜时间戳(timestamp of 23:59).
函数签名:
func GetNightTimestamp() int64
例子:
package main
import (
"fmt"
"time"
"github.com/duke-git/lancet/datetime"
)
func main() {
now := time.Now()
nightTime := datetime.GetNightTimestamp()
fmt.Println(nightTime) // 1643385599
}
FormatTimeToStr
将日期格式化成字符串,`format` 参数格式参考注1
函数签名:
func FormatTimeToStr(t time.Time, format string) string
例子:
package main
import (
"fmt"
"time"
"github.com/duke-git/lancet/datetime"
)
func main() {
now := time.Now()
timeStr := datetime.FormatTimeToStr(now, "yyyy/mm/dd hh:mm:ss")
fmt.Println(timeStr) //2022/01/28 16:07:44
}
FormatStrToTime
将字符串格式化成时间,`format` 参数格式参考注1
函数签名:
func FormatStrToTime(str, format string) (time.Time, error)
例子:
package main
import (
"fmt"
"github.com/duke-git/lancet/datetime"
)
func main() {
time := datetime.FormatStrToTime("2006-01-02 15:04:05", "yyyy/mm/dd hh:mm:ss")
fmt.Println(time)
}