新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame gtime-方法介紹
以下常用方法列表,文檔更新可能滯后于代碼新特性,更多的方法及示例請參考代碼文檔:https://pkg.GO.dev/github.com/gogf/gf/v2/os/gtime

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、安平網(wǎng)站維護(hù)、網(wǎng)站推廣。
New
- 說明:?
New? 創(chuàng)建并返回一個(gè)具有給定參數(shù)的 ?Time?對象。 - 格式:
func New(param ...interface{}) *Time- 示例:創(chuàng)建時(shí)間對象。
func ExampleNew() {
t1 := gtime.New(time.Now())
t2 := gtime.New("2018-08-08 08:08:08")
t3 := gtime.New(1533686888)
fmt.Println(t1)
fmt.Println(t2)
fmt.Println(t3)
// Output:
// 2021-11-18 14:18:27
// 2018-08-08 08:08:08
// 2018-08-08 08:08:08Now
- 說明: ?
Now?創(chuàng)建并返回一個(gè)當(dāng)前時(shí)間對象。 - 格式:
func Now() *Time- 示例:獲取當(dāng)前時(shí)間對象。
func ExampleNow() {
t := gtime.Now()
fmt.Println(t)
// Output:
// 2021-11-06 13:41:08
}Format
- 說明: 格式化輸出時(shí)間
- 格式:
func (t *Time) Format(format string) string- 示例:格式化輸出時(shí)間。
func ExampleTime_Format() {
gt1 := gtime.New("2018-08-08 08:08:08")
fmt.Println(gt1.Format("Y-m-d"))
fmt.Println(gt1.Format("l"))
fmt.Println(gt1.Format("F j, Y, g:i a"))
fmt.Println(gt1.Format("j, n, Y"))
fmt.Println(gt1.Format("h-i-s, j-m-y, it is w Day z"))
fmt.Println(gt1.Format("D M j G:i:s T Y"))
// Output:
// 2018-08-08
// Wednesday
// August 8, 2018, 8:08 am
// 8, 8, 2018
// 08-08-08, 8-08-18, 0831 0808 3 Wedam18 219
// Wed Aug 8 8:08:08 CST 2018
}String
- 說明: 輸出字符串
- 格式:
func (t *Time) String() string- 示例:輸出字符串類型。
func ExampleTime_String() {
gt := gtime.New("2018-08-08 08:08:08")
t1 := gt.String()
fmt.Println(t1)
fmt.Println(reflect.TypeOf(t1))
// Output:
// 2018-08-08 08:08:08
// string
}Timestamp
- 說明: 獲取當(dāng)前對象的秒時(shí)間戳。相應(yīng)的還有?
TimestampMicro/TimestampMilli/TimestampNano?。 - 格式:
func (t *Time) Timestamp() int64
func Timestamp() int64- 示例:獲取當(dāng)前對象的秒時(shí)間戳。
func ExampleTime_Timestamp() {
t := gtime.Now()
fmt.Println(t.Timestamp())
fmt.Println(gtime.Timestamp())
fmt.Println(t.TimestampMicro())
fmt.Println(t.TimestampMilli())
fmt.Println(t.TimestampNano())
// Output:
// 1533686888
// 1533686888
// 1533686888000
// 1533686888000000
// 1533686888000000000
}ToZone
- 說明: 設(shè)置時(shí)區(qū)。
- 格式:
func (t *Time) ToZone(zone string) (*Time, error)- 示例:獲取當(dāng)前對象的秒時(shí)間戳。
func ExampleTime_ToZone() {
gt1 := gtime.Now()
gt2, _ := gt1.ToZone("Asia/Shanghai")
gt3, _ := gt1.ToZone("Asia/Tokyo")
fmt.Println(gt2)
fmt.Println(gt3)
// May Output:
// 2021-11-11 17:10:10
// 2021-11-11 18:10:10
}SetTimeZone
- 說明: 設(shè)置時(shí)區(qū)。
- 格式:
func SetTimeZone(zone string) error- 示例: 設(shè)置時(shí)區(qū)。
func ExampleSetTimeZone() {
gtime.SetTimeZone("Asia/Shanghai")
fmt.Println(gtime.Datetime())
gtime.SetTimeZone("Asia/Tokyo")
fmt.Println(gtime.Datetime())
// May Output:
// 2018-08-08 08:08:08
// 2018-08-08 09:08:08
}StrToTime
- 說明: 時(shí)間字符串轉(zhuǎn)成時(shí)間對象。
- 格式:
func StrToTime(str string, format ...string) (*Time, error)- 示例: 時(shí)間字符串轉(zhuǎn)成時(shí)間對象。
func ExampleStrToTime() {
res, _ := gtime.StrToTime("2006-01-02T15:04:05-07:00", "Y-m-d H:i:s")
fmt.Println(res)
// May Output:
// 2006-01-02 15:04:05
}Add
- 說明: 在當(dāng)前時(shí)間對象上增加時(shí)間。
- 格式:
func (t *Time) Add(d time.Duration) *Time- 示例: 在當(dāng)前時(shí)間對象上增加時(shí)間。
func ExampleTime_Add() {
gt := gtime.New("2018-08-08 08:08:08")
gt1 := gt.Add(time.Duration(10) * time.Second)
fmt.Println(gt1)
// Output:
// 2018-08-08 08:08:18
}StartOfDay
- 說明: 返回今天最開始的時(shí)間對象。類似的還有?
StartOfHalf/StartOfHour/StartOfMonth/StartOfMinute/StartOfQuarter?等。 - 格式:
func (t *Time) StartOfDay() *Time- 示例: 返回今天最開始的時(shí)間對象。
func ExampleTime_StartOfDay() {
gt1 := gtime.New("2018-08-08 08:08:08")
fmt.Println(gt1.StartOfDay())
// Output:
// 2018-08-08 00:00:00
}EndOfDay
- 說明: 返回今天結(jié)束的時(shí)間對象。類似的還有?
EndOfHalf/EndOfHour/EndOfMonth/EndOfMinute/EndOfQuarter?等。 - 格式:
func (t *Time) EndOfDay() *Time- 示例: 返回今天結(jié)束的時(shí)間對象。
func ExampleTime_EndOfDay() {
gt1 := gtime.New("2018-08-08 08:08:08")
fmt.Println(gt1.EndOfDay())
// Output:
// 2018-08-08 23:59:59
}Month
- 說明: 返回這個(gè)月處于全年的索引號。例如,1月對應(yīng)的是1。
- 格式:
func (t *Time) Month() int- 示例: 返回這個(gè)月處于全年的索引號。
func ExampleTime_Month() {
gt := gtime.New("2018-08-08 08:08:08")
t1 := gt.Month()
fmt.Println(t1)
// Output:
// 8
}Second
- 說明: 返回當(dāng)前分鐘的秒數(shù)。例如,10:10:08 對應(yīng)的秒數(shù)為8。
- 格式:
func (t *Time) Second() int- 示例: 返回這個(gè)月處于全年的索引號。
func ExampleTime_Second() {
gt := gtime.New("2018-08-08 08:08:08")
t1 := gt.Second()
fmt.Println(t1)
// Output:
// 8
}IsZero
- 說明: 判斷時(shí)間是否等于?
0001-01-01 00:00:00?。注意不代表時(shí)間戳為0, 時(shí)間戳為0是?1970-01-01 08:00:00? - 格式:
func (t *Time) IsZero() bool- 示例: 返回這個(gè)月處于全年的索引號。
func ExampleTime_IsZero() {
gt := gtime.New("0-0-0")
fmt.Println(gt.IsZero())
// Output:
// true
}AddDate
- 說明: 在當(dāng)前時(shí)間對象上增加指定年月日。
- 格式:
func (t *Time) AddDate(years int, months int, days int) *Time- 示例: 在當(dāng)前時(shí)間對象上增加指定年月日。
func ExampleTime_AddDate() {
var (
year = 1
month = 2
day = 3
)
gt := gtime.New("2018-08-08 08:08:08")
gt = gt.AddDate(year, month, day)
fmt.Println(gt)
// Output:
// 2019-10-11 08:08:08
}Equal
- 說明: 判斷兩個(gè)時(shí)間對象是否相等。
- 格式:
func (t *Time) Equal(u *Time) bool- 示例: 判斷兩個(gè)時(shí)間對象是否相等。
func ExampleTime_Equal() {
gt1 := gtime.New("2018-08-08 08:08:08")
gt2 := gtime.New("2018-08-08 08:08:08")
fmt.Println(gt1.Equal(gt2))
// Output:
// true
}Before
- 說明: 判斷兩個(gè)時(shí)間對象前后順序。
- 格式:
func (t *Time) Before(u *Time) bool- 示例: 判斷兩個(gè)時(shí)間對象前后順序。
func ExampleTime_Before() {
gt1 := gtime.New("2018-08-07 08:08:08")
gt2 := gtime.New("2018-08-08 08:08:08")
fmt.Println(gt1.Before(gt2))
// Output:
// true
}After
- 說明: 判斷兩個(gè)時(shí)間對象前后順序。
- 格式:
func (t *Time) After(u *Time) bool- 示例: 判斷兩個(gè)時(shí)間對象前后順序。
func ExampleTime_After() {
gt1 := gtime.New("2018-08-07 08:08:08")
gt2 := gtime.New("2018-08-08 08:08:08")
fmt.Println(gt1.After(gt2))
// Output:
// false
}Layout
- 說明: 格式化輸出時(shí)間。
- 格式:
func (t *Time) Layout(layout string) string- 示例: 格式化輸出時(shí)間。
func ExampleTime_Layout() {
gt1 := gtime.New("2018-08-08 08:08:08")
fmt.Println(gt1.Layout("2006-01-02"))
// Output:
// 2018-08-08
}IsLeapYear
- 說明: 是否閏年。
- 格式:
func (t *Time) IsLeapYear() bool- 示例: 是否閏年。
func ExampleTime_IsLeapYear() {
gt1 := gtime.New("2018-08-08 08:08:08")
fmt.Println(gt1.IsLeapYear())
// Output:
// false
}Date
- 說明: 獲取日期。
- 格式:
func Date() string- 示例: 獲取日期。
func ExampleDate() {
fmt.Println(gtime.Date())
// May Output:
// 2006-01-02
}Datetime
- 說明: 獲取日期時(shí)間。
- 格式:
func Datetime() string- 示例: 獲取日期。
func ExampleDatetime() {
fmt.Println(gtime.Datetime())
// May Output:
// 2006-01-02 15:04:05
}ISO8601
- 說明: 以ISO8601的格式返回時(shí)間
- 格式:
func ISO8601() string- 示例:
func ExampleISO8601() {
fmt.Println(gtime.ISO8601())
// May Output:
// 2006-01-02T15:04:05-07:00
}RFC822
- 說明: 以RFC822的格式返回時(shí)間
- 格式:
func RFC822() string- 示例:
func ExampleRFC822() {
fmt.Println(gtime.RFC822())
// May Output:
// Mon, 02 Jan 06 15:04 MST
}StrToTimeFormat
- 說明: ?
StrToTimeFormat?根據(jù)傳入的時(shí)間字符串以及格式返回時(shí)間對象 - 格式:
func StrToTimeFormat(str string, format string) (*Time, error)- 示例:
func ExampleStrToTimeFormat() {
res, _ := gtime.StrToTimeFormat("2006-01-02 15:04:05", "Y-m-d H:i:s")
fmt.Println(res)
// Output:
// 2006-01-02 15:04:05
}StrToTimeLayout
- 說明: ?
StrToTimeLayout?根據(jù)傳入的時(shí)間字符串以及格式返回時(shí)間對象 - 格式:
func StrToTimeLayout(str string, layout string) (*Time, error)- 示例:
func ExampleStrToTimeLayout() {
res, _ := gtime.StrToTimeLayout("2018-08-08", "2006-01-02")
fmt.Println(res)
// Output:
// 2018-08-08 00:00:00
}MarshalJSON
- 說明: ?
MarshalJSON?重載?json.Marshal?中的方法。 - 格式:
func (t *Time) MarshalJSON() ([]byte, error)- 示例:
func ExampleTime_MarshalJSON() {
type Person struct {
Name string `json:"name"`
Birthday *gtime.Time `json:"birthday"`
}
p := new(Person)
p.Name = "GoFrame"
p.Birthday = gtime.New("2018-08-08 08:08:08")
j, _ := json.Marshal(p)
fmt.Println(string(j))
// Output:
// {"name":"xiaoming","birthday":"2018-08-08 08:08:08"}
}UnmarshalJSON
- 說明: ?
UnmarshalJSON?重載?json.Unmarshal?中的方法。 - 格式:
func (t *Time) UnmarshalJSON() ([]byte, error)- 示例:
func ExampleTime_MarshalJSON() {
type Person struct {
Name string `json:"name"`
Birthday *gtime.Time `json:"birthday"`
}
p := new(Person)
p.Name = "goframe"
p.Birthday = gtime.New("2018-08-08 08:08:08")
j, _ := json.Marshal(p)
fmt.Println(string(j))
// Output:
// {"name":"xiaoming","birthday":"2018-08-08 08:08:08"}
}WeekOfYear
- 說明: ?
WeekOfYear?返回當(dāng)前周處于全年第幾周,從1開始計(jì)算。類似的還有?DayOfYear/DaysInMonth? - 格式:
func (t *Time) WeeksOfYear() int- 示例:
func ExampleTime_WeeksOfYear() {
gt1 := gtime.New("2018-01-08 08:08:08")
fmt.Println(gt1.WeeksOfYear())
// Output:
// 2
} 標(biāo)題名稱:創(chuàng)新互聯(lián)GoFrame教程:GoFrame gtime-方法介紹
URL標(biāo)題:http://fisionsoft.com.cn/article/codesej.html


咨詢
建站咨詢
