1
0
mirror of https://github.com/duke-git/lancet.git synced 2026-02-04 12:52:28 +08:00
Files
lancet/docs/datetime_zh-CN.md
2022-01-29 22:49:54 +08:00

5.4 KiB
Raw Blame History

Datetime

datetime日期时间处理包格式化日期比较日期。

源码:

https://github.com/duke-git/lancet/blob/main/datetime/datetime.go

用法:

import (
    "github.com/duke-git/lancet/datetime"
)

目录

文档

注:

  1. 方法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)
}