1
0
mirror of https://github.com/duke-git/lancet.git synced 2026-02-17 19:22:28 +08:00

doc: add doc for AddYear function

This commit is contained in:
dudaodong
2023-05-18 10:27:37 +08:00
parent 85e2806531
commit 8a1dd40738
3 changed files with 248 additions and 162 deletions

View File

@@ -72,6 +72,8 @@ func AddDay(t time.Time, day int64) time.Time {
return t.Add(24 * time.Hour * time.Duration(day)) return t.Add(24 * time.Hour * time.Duration(day))
} }
// AddYear add or sub year to the time.
// Play: todo
func AddYear(t time.Time, year int64) time.Time { func AddYear(t time.Time, year int64) time.Time {
return t.Add(365 * 24 * time.Hour * time.Duration(year)) return t.Add(365 * 24 * time.Hour * time.Duration(year))
} }

View File

@@ -26,6 +26,7 @@ import (
- [AddDay](#AddDay) - [AddDay](#AddDay)
- [AddHour](#AddHour) - [AddHour](#AddHour)
- [AddMinute](#AddMinute) - [AddMinute](#AddMinute)
- [AddYear](#AddYear)
- [BeginOfMinute](#BeginOfMinute) - [BeginOfMinute](#BeginOfMinute)
- [BeginOfHour](#BeginOfHour) - [BeginOfHour](#BeginOfHour)
- [BeginOfDay](#BeginOfDay) - [BeginOfDay](#BeginOfDay)
@@ -198,6 +199,45 @@ func main() {
} }
``` ```
### <span id="AddYear">AddYear</span>
<p>Add or sub year to the time.</p>
<b>Signature:</b>
```go
func AddYear(t time.Time, year int64) time.Time
```
<b>Example:</b>
```go
package main
import (
"fmt"
"time"
"github.com/duke-git/lancet/v2/datetime"
)
func main() {
now := time.Now()
after1Year := AddYear(now, 1)
diff1 := after1Year.Sub(now)
before1Year := AddYear(now, -1)
diff2 := before1Year.Sub(now)
fmt.Println(diff1)
fmt.Println(diff2)
// Output:
// 8760h0m0s
// -8760h0m0s
}
```
### <span id="BeginOfMinute">BeginOfMinute</span> ### <span id="BeginOfMinute">BeginOfMinute</span>
<p>Return beginning minute time of day.</p> <p>Return beginning minute time of day.</p>

View File

@@ -1,15 +1,17 @@
# Datetime # Datetime
datetime日期时间处理包格式化日期比较日期。
datetime 日期时间处理包,格式化日期,比较日期。
<div STYLE="page-break-after: always;"></div> <div STYLE="page-break-after: always;"></div>
## 源码: ## 源码:
- [https://github.com/duke-git/lancet/blob/main/datetime/datetime.go](https://github.com/duke-git/lancet/blob/main/datetime/datetime.go) - [https://github.com/duke-git/lancet/blob/main/datetime/datetime.go](https://github.com/duke-git/lancet/blob/main/datetime/datetime.go)
<div STYLE="page-break-after: always;"></div> <div STYLE="page-break-after: always;"></div>
## 用法: ## 用法:
```go ```go
import ( import (
"github.com/duke-git/lancet/v2/datetime" "github.com/duke-git/lancet/v2/datetime"
@@ -19,74 +21,77 @@ import (
<div STYLE="page-break-after: always;"></div> <div STYLE="page-break-after: always;"></div>
## 目录 ## 目录
- [AddDay](#AddDay)
- [AddHour](#AddHour) - [AddDay](#AddDay)
- [AddMinute](#AddMinute) - [AddHour](#AddHour)
- [BeginOfMinute](#BeginOfMinute) - [AddMinute](#AddMinute)
- [BeginOfHour](#BeginOfHour) - [AddYear](#AddYear)
- [BeginOfDay](#BeginOfDay) - [BeginOfMinute](#BeginOfMinute)
- [BeginOfWeek](#BeginOfWeek) - [BeginOfHour](#BeginOfHour)
- [BeginOfMonth](#BeginOfMonth) - [BeginOfDay](#BeginOfDay)
- [BeginOfYear](#BeginOfYear) - [BeginOfWeek](#BeginOfWeek)
- [EndOfMinute](#EndOfMinute) - [BeginOfMonth](#BeginOfMonth)
- [EndOfHour](#EndOfHour) - [BeginOfYear](#BeginOfYear)
- [EndOfDay](#EndOfDay) - [EndOfMinute](#EndOfMinute)
- [EndOfWeek](#EndOfWeek) - [EndOfHour](#EndOfHour)
- [EndOfMonth](#EndOfMonth) - [EndOfDay](#EndOfDay)
- [EndOfYear](#EndOfYear) - [EndOfWeek](#EndOfWeek)
- [GetNowDate](#GetNowDate) - [EndOfMonth](#EndOfMonth)
- [GetNowTime](#GetNowTime) - [EndOfYear](#EndOfYear)
- [GetNowDateTime](#GetNowDateTime) - [GetNowDate](#GetNowDate)
- [GetZeroHourTimestamp](#GetZeroHourTimestamp) - [GetNowTime](#GetNowTime)
- [GetNightTimestamp](#GetNightTimestamp) - [GetNowDateTime](#GetNowDateTime)
- [FormatTimeToStr](#FormatTimeToStr) - [GetZeroHourTimestamp](#GetZeroHourTimestamp)
- [FormatStrToTime](#FormatStrToTime) - [GetNightTimestamp](#GetNightTimestamp)
- [NewUnixNow](#NewUnixNow) - [FormatTimeToStr](#FormatTimeToStr)
- [NewUnix](#NewUnix) - [FormatStrToTime](#FormatStrToTime)
- [NewFormat](#NewFormat) - [NewUnixNow](#NewUnixNow)
- [NewISO8601](#NewISO8601) - [NewUnix](#NewUnix)
- [ToUnix](#ToUnix) - [NewFormat](#NewFormat)
- [ToFormat](#ToFormat) - [NewISO8601](#NewISO8601)
- [ToFormatForTpl](#ToFormatForTpl) - [ToUnix](#ToUnix)
- [ToIso8601](#ToIso8601) - [ToFormat](#ToFormat)
- [ToFormatForTpl](#ToFormatForTpl)
- [ToIso8601](#ToIso8601)
<div STYLE="page-break-after: always;"></div> <div STYLE="page-break-after: always;"></div>
## 文档 ## 文档
## 注: ## 注:
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
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
### <span id="AddDay">AddDay</span> ### <span id="AddDay">AddDay</span>
<p>将日期加/减天数。</p> <p>将日期加/减天数。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func AddDay(t time.Time, day int64) time.Time func AddDay(t time.Time, day int64) time.Time
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -119,13 +124,13 @@ func main() {
<p>将日期加/减小时数。</p> <p>将日期加/减小时数。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func AddHour(t time.Time, hour int64) time.Time func AddHour(t time.Time, hour int64) time.Time
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -158,13 +163,13 @@ func main() {
<p>将日期加/减分钟数。</p> <p>将日期加/减分钟数。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func AddMinute(t time.Time, minute int64) time.Time func AddMinute(t time.Time, minute int64) time.Time
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -193,17 +198,56 @@ func main() {
} }
``` ```
### <span id="AddYear">AddYear</span>
<p>将日期加/减年数。</p>
<b>函数签名:</b>
```go
func AddYear(t time.Time, year int64) time.Time
```
<b>示例:</b>
```go
package main
import (
"fmt"
"time"
"github.com/duke-git/lancet/v2/datetime"
)
func main() {
now := time.Now()
after1Year := AddYear(now, 1)
diff1 := after1Year.Sub(now)
before1Year := AddYear(now, -1)
diff2 := before1Year.Sub(now)
fmt.Println(diff1)
fmt.Println(diff2)
// Output:
// 8760h0m0s
// -8760h0m0s
}
```
### <span id="BeginOfMinute">BeginOfMinute</span> ### <span id="BeginOfMinute">BeginOfMinute</span>
<p>返回指定时间的分钟开始时间。</p> <p>返回指定时间的分钟开始时间。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func BeginOfMinute(t time.Time) time.Time func BeginOfMinute(t time.Time) time.Time
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -229,13 +273,13 @@ func main() {
<p>返回指定时间的小时开始时间。</p> <p>返回指定时间的小时开始时间。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func BeginOfHour(t time.Time) time.Time func BeginOfHour(t time.Time) time.Time
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -261,13 +305,13 @@ func main() {
<p>返回指定时间的当天开始时间。</p> <p>返回指定时间的当天开始时间。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func BeginOfDay(t time.Time) time.Time func BeginOfDay(t time.Time) time.Time
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -293,13 +337,13 @@ func main() {
<p>返回指定时间的每周开始时间,默认开始时间星期日。</p> <p>返回指定时间的每周开始时间,默认开始时间星期日。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func BeginOfWeek(t time.Time, beginFrom ...time.Weekday) time.Time func BeginOfWeek(t time.Time, beginFrom ...time.Weekday) time.Time
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -325,13 +369,13 @@ func main() {
<p>返回指定时间的当月开始时间。</p> <p>返回指定时间的当月开始时间。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func BeginOfMonth(t time.Time) time.Time func BeginOfMonth(t time.Time) time.Time
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -357,13 +401,13 @@ func main() {
<p>返回指定时间的当年开始时间</p> <p>返回指定时间的当年开始时间</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func BeginOfYear(t time.Time) time.Time func BeginOfYear(t time.Time) time.Time
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -389,13 +433,13 @@ func main() {
<p>返回指定时间的分钟结束时间。</p> <p>返回指定时间的分钟结束时间。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func EndOfMinute(t time.Time) time.Time func EndOfMinute(t time.Time) time.Time
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -421,13 +465,13 @@ func main() {
<p>返回指定时间的小时结束时间。</p> <p>返回指定时间的小时结束时间。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func EndOfHour(t time.Time) time.Time func EndOfHour(t time.Time) time.Time
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -453,13 +497,13 @@ func main() {
<p>返回指定时间的当天结束时间。</p> <p>返回指定时间的当天结束时间。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func EndOfDay(t time.Time) time.Time func EndOfDay(t time.Time) time.Time
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -485,13 +529,13 @@ func main() {
<p>返回指定时间的星期结束时间,默认结束时间星期六。</p> <p>返回指定时间的星期结束时间,默认结束时间星期六。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func EndOfWeek(t time.Time, endWith ...time.Weekday) time.Time func EndOfWeek(t time.Time, endWith ...time.Weekday) time.Time
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -517,13 +561,13 @@ func main() {
<p>返回指定时间的当月结束时间。</p> <p>返回指定时间的当月结束时间。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func EndOfMonth(t time.Time) time.Time func EndOfMonth(t time.Time) time.Time
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -549,13 +593,13 @@ func main() {
<p>返回指定时间的当年结束时间。</p> <p>返回指定时间的当年结束时间。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func EndOfYear(t time.Time) time.Time func EndOfYear(t time.Time) time.Time
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -581,13 +625,13 @@ func main() {
<p>获取当天日期返回格式yyyy-mm-dd。</p> <p>获取当天日期返回格式yyyy-mm-dd。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func GetNowDate() string func GetNowDate() string
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -613,13 +657,13 @@ func main() {
<p>获取当时时间返回格式hh:mm:ss</p> <p>获取当时时间返回格式hh:mm:ss</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func GetNowTime() string func GetNowTime() string
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -645,13 +689,13 @@ func main() {
<p>获取当时日期和时间返回格式yyyy-mm-dd hh:mm:ss。</p> <p>获取当时日期和时间返回格式yyyy-mm-dd hh:mm:ss。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func GetNowDateTime() string func GetNowDateTime() string
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -677,13 +721,13 @@ func main() {
<p>获取零点时间戳(timestamp of 00:00)</p> <p>获取零点时间戳(timestamp of 00:00)</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func GetZeroHourTimestamp() int64 func GetZeroHourTimestamp() int64
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -709,13 +753,13 @@ func main() {
<p>获取午夜时间戳(timestamp of 23:59)。</p> <p>获取午夜时间戳(timestamp of 23:59)。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func GetNightTimestamp() int64 func GetNightTimestamp() int64
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -741,13 +785,13 @@ func main() {
<p>将日期格式化成字符串,`format` 参数格式参考注1。</p> <p>将日期格式化成字符串,`format` 参数格式参考注1。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func FormatTimeToStr(t time.Time, format string) string func FormatTimeToStr(t time.Time, format string) string
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -780,13 +824,13 @@ func main() {
<p>将字符串格式化成时间,`format` 参数格式参考注1。</p> <p>将字符串格式化成时间,`format` 参数格式参考注1。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func FormatStrToTime(str, format string) (time.Time, error) func FormatStrToTime(str, format string) (time.Time, error)
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -816,7 +860,7 @@ func main() {
<p>创建一个当前时间的unix时间戳。</p> <p>创建一个当前时间的unix时间戳。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
type theTime struct { type theTime struct {
@@ -825,7 +869,7 @@ type theTime struct {
func NewUnixNow() *theTime func NewUnixNow() *theTime
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -848,7 +892,7 @@ func main() {
<p>创建一个unix时间戳。</p> <p>创建一个unix时间戳。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
type theTime struct { type theTime struct {
@@ -857,7 +901,7 @@ type theTime struct {
func NewUnix(unix int64) *theTime func NewUnix(unix int64) *theTime
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -880,7 +924,7 @@ func main() {
<p>创建一个yyyy-mm-dd hh:mm:ss格式时间字符串的unix时间戳。</p> <p>创建一个yyyy-mm-dd hh:mm:ss格式时间字符串的unix时间戳。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
type theTime struct { type theTime struct {
@@ -889,7 +933,7 @@ type theTime struct {
func NewFormat(t string) (*theTime, error) func NewFormat(t string) (*theTime, error)
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -912,7 +956,7 @@ func main() {
<p>创建一个iso8601格式时间字符串的unix时间戳。</p> <p>创建一个iso8601格式时间字符串的unix时间戳。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
type theTime struct { type theTime struct {
@@ -921,7 +965,7 @@ type theTime struct {
func NewISO8601(iso8601 string) (*theTime, error) func NewISO8601(iso8601 string) (*theTime, error)
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -944,13 +988,13 @@ func main() {
<p>返回unix时间戳。</p> <p>返回unix时间戳。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func (t *theTime) ToUnix() int64 func (t *theTime) ToUnix() int64
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -973,13 +1017,13 @@ func main() {
<p>返回格式'yyyy-mm-dd hh:mm:ss'的日期字符串。</p> <p>返回格式'yyyy-mm-dd hh:mm:ss'的日期字符串。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func (t *theTime) ToFormat() string func (t *theTime) ToFormat() string
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -1002,13 +1046,13 @@ func main() {
<p>返回tpl格式指定的日期字符串。</p> <p>返回tpl格式指定的日期字符串。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func (t *theTime) ToFormatForTpl(tpl string) string func (t *theTime) ToFormatForTpl(tpl string) string
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main
@@ -1032,13 +1076,13 @@ func main() {
<p>返回iso8601日期字符串。</p> <p>返回iso8601日期字符串。</p>
<b>Signature:</b> <b>函数签名:</b>
```go ```go
func (t *theTime) ToIso8601() string func (t *theTime) ToIso8601() string
``` ```
<b>Example:</b> <b>示例:</b>
```go ```go
package main package main