Documentation
¶
Overview ¶
Package carbon is a simple, semantic and developer-friendly time package for golang.
Index ¶
- Constants
- Variables
- func CleanTestNow()
- func IsTestNow() bool
- func ResetDefault()
- func SetDefault(d Default)
- func SetTestNow(carbon *Carbon)
- type Carbon
- func CreateFromDate(year, month, day int, timezone ...string) *Carbon
- func CreateFromDateMicro(year, month, day, microsecond int, timezone ...string) *Carbon
- func CreateFromDateMilli(year, month, day, millisecond int, timezone ...string) *Carbon
- func CreateFromDateNano(year, month, day, nanosecond int, timezone ...string) *Carbon
- func CreateFromDateTime(year, month, day, hour, minute, second int, timezone ...string) *Carbon
- func CreateFromDateTimeMicro(year, month, day, hour, minute, second, microsecond int, timezone ...string) *Carbon
- func CreateFromDateTimeMilli(year, month, day, hour, minute, second, millisecond int, timezone ...string) *Carbon
- func CreateFromDateTimeNano(year, month, day, hour, minute, second, nanosecond int, timezone ...string) *Carbon
- func CreateFromJulian(f float64) *Carbon
- func CreateFromLunar(year, month, day int, isLeapMonth bool) *Carbon
- func CreateFromPersian(year, month, day int) *Carbon
- func CreateFromStdTime(time StdTime, timezone ...string) *Carbon
- func CreateFromTime(hour, minute, second int, timezone ...string) *Carbon
- func CreateFromTimeMicro(hour, minute, second, microsecond int, timezone ...string) *Carbon
- func CreateFromTimeMilli(hour, minute, second, millisecond int, timezone ...string) *Carbon
- func CreateFromTimeNano(hour, minute, second, nanosecond int, timezone ...string) *Carbon
- func CreateFromTimestamp(timestamp int64, timezone ...string) *Carbon
- func CreateFromTimestampMicro(timestampMicro int64, timezone ...string) *Carbon
- func CreateFromTimestampMilli(timestampMilli int64, timezone ...string) *Carbon
- func CreateFromTimestampNano(timestampNano int64, timezone ...string) *Carbon
- func Max(c1 *Carbon, c2 ...*Carbon) (c *Carbon)
- func MaxValue() *Carbon
- func Min(c1 *Carbon, c2 ...*Carbon) (c *Carbon)
- func MinValue() *Carbon
- func NewCarbon(time ...StdTime) *Carbon
- func Now(timezone ...string) *Carbon
- func Parse(value string, timezone ...string) *Carbon
- func ParseByFormat(value, format string, timezone ...string) *Carbon
- func ParseByLayout(value, layout string, timezone ...string) *Carbon
- func ParseWithFormats(value string, formats []string, timezone ...string) *Carbon
- func ParseWithLayouts(value string, layouts []string, timezone ...string) *Carbon
- func SetFormat(format string) *Carbon
- func SetLayout(layout string) *Carbon
- func SetLocale(locale string) *Carbon
- func SetLocation(loc *Location) *Carbon
- func SetTimezone(name string) *Carbon
- func SetWeekStartsAt(weekday Weekday) *Carbon
- func SetWeekendDays(weekDays []Weekday) *Carbon
- func Tomorrow(timezone ...string) *Carbon
- func Yesterday(timezone ...string) *Carbon
- func (c *Carbon) AddCenturies(centuries int) *Carbon
- func (c *Carbon) AddCenturiesNoOverflow(centuries int) *Carbon
- func (c *Carbon) AddCentury() *Carbon
- func (c *Carbon) AddCenturyNoOverflow() *Carbon
- func (c *Carbon) AddDay() *Carbon
- func (c *Carbon) AddDays(days int) *Carbon
- func (c *Carbon) AddDecade() *Carbon
- func (c *Carbon) AddDecadeNoOverflow() *Carbon
- func (c *Carbon) AddDecades(decades int) *Carbon
- func (c *Carbon) AddDecadesNoOverflow(decades int) *Carbon
- func (c *Carbon) AddDuration(duration string) *Carbon
- func (c *Carbon) AddHour() *Carbon
- func (c *Carbon) AddHours(hours int) *Carbon
- func (c *Carbon) AddMicrosecond() *Carbon
- func (c *Carbon) AddMicroseconds(microseconds int) *Carbon
- func (c *Carbon) AddMillisecond() *Carbon
- func (c *Carbon) AddMilliseconds(milliseconds int) *Carbon
- func (c *Carbon) AddMinute() *Carbon
- func (c *Carbon) AddMinutes(minutes int) *Carbon
- func (c *Carbon) AddMonth() *Carbon
- func (c *Carbon) AddMonthNoOverflow() *Carbon
- func (c *Carbon) AddMonths(months int) *Carbon
- func (c *Carbon) AddMonthsNoOverflow(months int) *Carbon
- func (c *Carbon) AddNanosecond() *Carbon
- func (c *Carbon) AddNanoseconds(nanoseconds int) *Carbon
- func (c *Carbon) AddQuarter() *Carbon
- func (c *Carbon) AddQuarterNoOverflow() *Carbon
- func (c *Carbon) AddQuarters(quarters int) *Carbon
- func (c *Carbon) AddQuartersNoOverflow(quarters int) *Carbon
- func (c *Carbon) AddSecond() *Carbon
- func (c *Carbon) AddSeconds(seconds int) *Carbon
- func (c *Carbon) AddWeek() *Carbon
- func (c *Carbon) AddWeeks(weeks int) *Carbon
- func (c *Carbon) AddYear() *Carbon
- func (c *Carbon) AddYearNoOverflow() *Carbon
- func (c *Carbon) AddYears(years int) *Carbon
- func (c *Carbon) AddYearsNoOverflow(years int) *Carbon
- func (c *Carbon) Age() int
- func (c *Carbon) Between(start *Carbon, end *Carbon) bool
- func (c *Carbon) BetweenIncludedBoth(start *Carbon, end *Carbon) bool
- func (c *Carbon) BetweenIncludedEnd(start *Carbon, end *Carbon) bool
- func (c *Carbon) BetweenIncludedStart(start *Carbon, end *Carbon) bool
- func (c *Carbon) Century() int
- func (c *Carbon) Closest(c1 *Carbon, c2 *Carbon) *Carbon
- func (c *Carbon) Compare(operator string, t *Carbon) bool
- func (c *Carbon) Constellation() string
- func (c *Carbon) Copy() *Carbon
- func (c *Carbon) CurrentLayout() string
- func (c *Carbon) Date() (year, month, day int)
- func (c *Carbon) DateMicro() (year, month, day, microsecond int)
- func (c *Carbon) DateMilli() (year, month, day, millisecond int)
- func (c *Carbon) DateNano() (year, month, day, nanosecond int)
- func (c *Carbon) DateTime() (year, month, day, hour, minute, second int)
- func (c *Carbon) DateTimeMicro() (year, month, day, hour, minute, second, microsecond int)
- func (c *Carbon) DateTimeMilli() (year, month, day, hour, minute, second, millisecond int)
- func (c *Carbon) DateTimeNano() (year, month, day, hour, minute, second, nanosecond int)
- func (c *Carbon) Day() int
- func (c *Carbon) DayOfMonth() int
- func (c *Carbon) DayOfWeek() int
- func (c *Carbon) DayOfYear() int
- func (c *Carbon) DaysInMonth() int
- func (c *Carbon) DaysInYear() int
- func (c *Carbon) Decade() int
- func (c *Carbon) DiffAbsInDays(carbon ...*Carbon) int64
- func (c *Carbon) DiffAbsInDuration(carbon ...*Carbon) Duration
- func (c *Carbon) DiffAbsInHours(carbon ...*Carbon) int64
- func (c *Carbon) DiffAbsInMinutes(carbon ...*Carbon) int64
- func (c *Carbon) DiffAbsInMonths(carbon ...*Carbon) int64
- func (c *Carbon) DiffAbsInSeconds(carbon ...*Carbon) int64
- func (c *Carbon) DiffAbsInString(carbon ...*Carbon) string
- func (c *Carbon) DiffAbsInWeeks(carbon ...*Carbon) int64
- func (c *Carbon) DiffAbsInYears(carbon ...*Carbon) int64
- func (c *Carbon) DiffForHumans(carbon ...*Carbon) string
- func (c *Carbon) DiffInDays(carbon ...*Carbon) int64
- func (c *Carbon) DiffInDuration(carbon ...*Carbon) Duration
- func (c *Carbon) DiffInHours(carbon ...*Carbon) int64
- func (c *Carbon) DiffInMinutes(carbon ...*Carbon) int64
- func (c *Carbon) DiffInMonths(carbon ...*Carbon) int64
- func (c *Carbon) DiffInSeconds(carbon ...*Carbon) int64
- func (c *Carbon) DiffInString(carbon ...*Carbon) string
- func (c *Carbon) DiffInWeeks(carbon ...*Carbon) int64
- func (c *Carbon) DiffInYears(carbon ...*Carbon) int64
- func (c *Carbon) EndOfCentury() *Carbon
- func (c *Carbon) EndOfDay() *Carbon
- func (c *Carbon) EndOfDecade() *Carbon
- func (c *Carbon) EndOfHour() *Carbon
- func (c *Carbon) EndOfMinute() *Carbon
- func (c *Carbon) EndOfMonth() *Carbon
- func (c *Carbon) EndOfQuarter() *Carbon
- func (c *Carbon) EndOfSeason() *Carbon
- func (c *Carbon) EndOfSecond() *Carbon
- func (c *Carbon) EndOfWeek() *Carbon
- func (c *Carbon) EndOfYear() *Carbon
- func (c *Carbon) Eq(t *Carbon) bool
- func (c *Carbon) Farthest(c1 *Carbon, c2 *Carbon) *Carbon
- func (c *Carbon) Format(format string, timezone ...string) string
- func (c *Carbon) GoString() string
- func (c *Carbon) Gt(t *Carbon) bool
- func (c *Carbon) Gte(t *Carbon) bool
- func (c *Carbon) HasError() bool
- func (c *Carbon) Hour() int
- func (c *Carbon) IsAM() bool
- func (c *Carbon) IsApril() bool
- func (c *Carbon) IsAquarius() bool
- func (c *Carbon) IsAries() bool
- func (c *Carbon) IsAugust() bool
- func (c *Carbon) IsAutumn() bool
- func (c *Carbon) IsCancer() bool
- func (c *Carbon) IsCapricorn() bool
- func (c *Carbon) IsDST() bool
- func (c *Carbon) IsDecember() bool
- func (c *Carbon) IsEpoch() bool
- func (c *Carbon) IsFebruary() bool
- func (c *Carbon) IsFriday() bool
- func (c *Carbon) IsFuture() bool
- func (c *Carbon) IsGemini() bool
- func (c *Carbon) IsInvalid() bool
- func (c *Carbon) IsJanuary() bool
- func (c *Carbon) IsJuly() bool
- func (c *Carbon) IsJune() bool
- func (c *Carbon) IsLeapYear() bool
- func (c *Carbon) IsLeo() bool
- func (c *Carbon) IsLibra() bool
- func (c *Carbon) IsLongYear() bool
- func (c *Carbon) IsMarch() bool
- func (c *Carbon) IsMay() bool
- func (c *Carbon) IsMonday() bool
- func (c *Carbon) IsNil() bool
- func (c *Carbon) IsNovember() bool
- func (c *Carbon) IsNow() bool
- func (c *Carbon) IsOctober() bool
- func (c *Carbon) IsPM() bool
- func (c *Carbon) IsPast() bool
- func (c *Carbon) IsPisces() bool
- func (c *Carbon) IsSagittarius() bool
- func (c *Carbon) IsSameCentury(t *Carbon) bool
- func (c *Carbon) IsSameDay(t *Carbon) bool
- func (c *Carbon) IsSameDecade(t *Carbon) bool
- func (c *Carbon) IsSameHour(t *Carbon) bool
- func (c *Carbon) IsSameMinute(t *Carbon) bool
- func (c *Carbon) IsSameMonth(t *Carbon) bool
- func (c *Carbon) IsSameQuarter(t *Carbon) bool
- func (c *Carbon) IsSameSecond(t *Carbon) bool
- func (c *Carbon) IsSameYear(t *Carbon) bool
- func (c *Carbon) IsSaturday() bool
- func (c *Carbon) IsScorpio() bool
- func (c *Carbon) IsSeptember() bool
- func (c *Carbon) IsSpring() bool
- func (c *Carbon) IsSummer() bool
- func (c *Carbon) IsSunday() bool
- func (c *Carbon) IsTaurus() bool
- func (c *Carbon) IsThursday() bool
- func (c *Carbon) IsToday() bool
- func (c *Carbon) IsTomorrow() bool
- func (c *Carbon) IsTuesday() bool
- func (c *Carbon) IsValid() bool
- func (c *Carbon) IsVirgo() bool
- func (c *Carbon) IsWednesday() bool
- func (c *Carbon) IsWeekday() bool
- func (c *Carbon) IsWeekend() bool
- func (c *Carbon) IsWinter() bool
- func (c *Carbon) IsYesterday() bool
- func (c *Carbon) IsZero() bool
- func (c *Carbon) Julian() *julian.Julian
- func (c *Carbon) Layout(layout string, timezone ...string) string
- func (c *Carbon) Locale() string
- func (c *Carbon) Lt(t *Carbon) bool
- func (c *Carbon) Lte(t *Carbon) bool
- func (c *Carbon) Lunar() *lunar.Lunar
- func (c *Carbon) Microsecond() int
- func (c *Carbon) Millisecond() int
- func (c *Carbon) Minute() int
- func (c *Carbon) Month() int
- func (c *Carbon) MonthOfYear() int
- func (c *Carbon) Nanosecond() int
- func (c *Carbon) Ne(t *Carbon) bool
- func (c *Carbon) Persian() *persian.Persian
- func (c *Carbon) Quarter() (quarter int)
- func (c *Carbon) Season() string
- func (c *Carbon) Second() int
- func (c *Carbon) SetDate(year, month, day int) *Carbon
- func (c *Carbon) SetDateMicro(year, month, day, microsecond int) *Carbon
- func (c *Carbon) SetDateMilli(year, month, day, millisecond int) *Carbon
- func (c *Carbon) SetDateNano(year, month, day, nanosecond int) *Carbon
- func (c *Carbon) SetDateTime(year, month, day, hour, minute, second int) *Carbon
- func (c *Carbon) SetDateTimeMicro(year, month, day, hour, minute, second, microsecond int) *Carbon
- func (c *Carbon) SetDateTimeMilli(year, month, day, hour, minute, second, millisecond int) *Carbon
- func (c *Carbon) SetDateTimeNano(year, month, day, hour, minute, second, nanosecond int) *Carbon
- func (c *Carbon) SetDay(day int) *Carbon
- func (c *Carbon) SetFormat(format string) *Carbon
- func (c *Carbon) SetHour(hour int) *Carbon
- func (c *Carbon) SetLanguage(lang *Language) *Carbon
- func (c *Carbon) SetLayout(layout string) *Carbon
- func (c *Carbon) SetLocale(locale string) *Carbon
- func (c *Carbon) SetLocation(loc *Location) *Carbon
- func (c *Carbon) SetMicrosecond(microsecond int) *Carbon
- func (c *Carbon) SetMillisecond(millisecond int) *Carbon
- func (c *Carbon) SetMinute(minute int) *Carbon
- func (c *Carbon) SetMonth(month int) *Carbon
- func (c *Carbon) SetMonthNoOverflow(month int) *Carbon
- func (c *Carbon) SetNanosecond(nanosecond int) *Carbon
- func (c *Carbon) SetSecond(second int) *Carbon
- func (c *Carbon) SetTime(hour, minute, second int) *Carbon
- func (c *Carbon) SetTimeMicro(hour, minute, second, microsecond int) *Carbon
- func (c *Carbon) SetTimeMilli(hour, minute, second, millisecond int) *Carbon
- func (c *Carbon) SetTimeNano(hour, minute, second, nanosecond int) *Carbon
- func (c *Carbon) SetTimezone(name string) *Carbon
- func (c *Carbon) SetWeekStartsAt(weekDay Weekday) *Carbon
- func (c *Carbon) SetWeekendDays(weekDays []Weekday) *Carbon
- func (c *Carbon) SetYear(year int) *Carbon
- func (c *Carbon) SetYearNoOverflow(year int) *Carbon
- func (c *Carbon) StartOfCentury() *Carbon
- func (c *Carbon) StartOfDay() *Carbon
- func (c *Carbon) StartOfDecade() *Carbon
- func (c *Carbon) StartOfHour() *Carbon
- func (c *Carbon) StartOfMinute() *Carbon
- func (c *Carbon) StartOfMonth() *Carbon
- func (c *Carbon) StartOfQuarter() *Carbon
- func (c *Carbon) StartOfSeason() *Carbon
- func (c *Carbon) StartOfSecond() *Carbon
- func (c *Carbon) StartOfWeek() *Carbon
- func (c *Carbon) StartOfYear() *Carbon
- func (c *Carbon) StdTime() StdTime
- func (c *Carbon) String() string
- func (c *Carbon) SubCenturies(centuries int) *Carbon
- func (c *Carbon) SubCenturiesNoOverflow(centuries int) *Carbon
- func (c *Carbon) SubCentury() *Carbon
- func (c *Carbon) SubCenturyNoOverflow() *Carbon
- func (c *Carbon) SubDay() *Carbon
- func (c *Carbon) SubDays(days int) *Carbon
- func (c *Carbon) SubDecade() *Carbon
- func (c *Carbon) SubDecadeNoOverflow() *Carbon
- func (c *Carbon) SubDecades(decades int) *Carbon
- func (c *Carbon) SubDecadesNoOverflow(decades int) *Carbon
- func (c *Carbon) SubDuration(duration string) *Carbon
- func (c *Carbon) SubHour() *Carbon
- func (c *Carbon) SubHours(hours int) *Carbon
- func (c *Carbon) SubMicrosecond() *Carbon
- func (c *Carbon) SubMicroseconds(microseconds int) *Carbon
- func (c *Carbon) SubMillisecond() *Carbon
- func (c *Carbon) SubMilliseconds(milliseconds int) *Carbon
- func (c *Carbon) SubMinute() *Carbon
- func (c *Carbon) SubMinutes(minutes int) *Carbon
- func (c *Carbon) SubMonth() *Carbon
- func (c *Carbon) SubMonthNoOverflow() *Carbon
- func (c *Carbon) SubMonths(months int) *Carbon
- func (c *Carbon) SubMonthsNoOverflow(months int) *Carbon
- func (c *Carbon) SubNanosecond() *Carbon
- func (c *Carbon) SubNanoseconds(nanoseconds int) *Carbon
- func (c *Carbon) SubQuarter() *Carbon
- func (c *Carbon) SubQuarterNoOverflow() *Carbon
- func (c *Carbon) SubQuarters(quarters int) *Carbon
- func (c *Carbon) SubQuartersNoOverflow(quarters int) *Carbon
- func (c *Carbon) SubSecond() *Carbon
- func (c *Carbon) SubSeconds(seconds int) *Carbon
- func (c *Carbon) SubWeek() *Carbon
- func (c *Carbon) SubWeeks(weeks int) *Carbon
- func (c *Carbon) SubYear() *Carbon
- func (c *Carbon) SubYearNoOverflow() *Carbon
- func (c *Carbon) SubYears(years int) *Carbon
- func (c *Carbon) SubYearsNoOverflow(years int) *Carbon
- func (c *Carbon) Time() (hour, minute, second int)
- func (c *Carbon) TimeMicro() (hour, minute, second, microsecond int)
- func (c *Carbon) TimeMilli() (hour, minute, second, millisecond int)
- func (c *Carbon) TimeNano() (hour, minute, second, nanosecond int)
- func (c *Carbon) Timestamp() int64
- func (c *Carbon) TimestampMicro() int64
- func (c *Carbon) TimestampMilli() int64
- func (c *Carbon) TimestampNano() int64
- func (c *Carbon) Timezone() string
- func (c *Carbon) ToAnsicString(timezone ...string) string
- func (c *Carbon) ToAtomString(timezone ...string) string
- func (c *Carbon) ToCookieString(timezone ...string) string
- func (c *Carbon) ToDateMicroString(timezone ...string) string
- func (c *Carbon) ToDateMilliString(timezone ...string) string
- func (c *Carbon) ToDateNanoString(timezone ...string) string
- func (c *Carbon) ToDateString(timezone ...string) string
- func (c *Carbon) ToDateTimeMicroString(timezone ...string) string
- func (c *Carbon) ToDateTimeMilliString(timezone ...string) string
- func (c *Carbon) ToDateTimeNanoString(timezone ...string) string
- func (c *Carbon) ToDateTimeString(timezone ...string) string
- func (c *Carbon) ToDayDateTimeString(timezone ...string) string
- func (c *Carbon) ToFormattedDateString(timezone ...string) string
- func (c *Carbon) ToFormattedDayDateString(timezone ...string) string
- func (c *Carbon) ToIso8601MicroString(timezone ...string) string
- func (c *Carbon) ToIso8601MilliString(timezone ...string) string
- func (c *Carbon) ToIso8601NanoString(timezone ...string) string
- func (c *Carbon) ToIso8601String(timezone ...string) string
- func (c *Carbon) ToIso8601ZuluMicroString(timezone ...string) string
- func (c *Carbon) ToIso8601ZuluMilliString(timezone ...string) string
- func (c *Carbon) ToIso8601ZuluNanoString(timezone ...string) string
- func (c *Carbon) ToIso8601ZuluString(timezone ...string) string
- func (c *Carbon) ToKitchenString(timezone ...string) string
- func (c *Carbon) ToMonthString(timezone ...string) string
- func (c *Carbon) ToRfc1036String(timezone ...string) string
- func (c *Carbon) ToRfc1123String(timezone ...string) string
- func (c *Carbon) ToRfc1123zString(timezone ...string) string
- func (c *Carbon) ToRfc2822String(timezone ...string) string
- func (c *Carbon) ToRfc3339MicroString(timezone ...string) string
- func (c *Carbon) ToRfc3339MilliString(timezone ...string) string
- func (c *Carbon) ToRfc3339NanoString(timezone ...string) string
- func (c *Carbon) ToRfc3339String(timezone ...string) string
- func (c *Carbon) ToRfc7231String(timezone ...string) string
- func (c *Carbon) ToRfc822String(timezone ...string) string
- func (c *Carbon) ToRfc822zString(timezone ...string) string
- func (c *Carbon) ToRfc850String(timezone ...string) string
- func (c *Carbon) ToRssString(timezone ...string) string
- func (c *Carbon) ToRubyDateString(timezone ...string) string
- func (c *Carbon) ToShortDateMicroString(timezone ...string) string
- func (c *Carbon) ToShortDateMilliString(timezone ...string) string
- func (c *Carbon) ToShortDateNanoString(timezone ...string) string
- func (c *Carbon) ToShortDateString(timezone ...string) string
- func (c *Carbon) ToShortDateTimeMicroString(timezone ...string) string
- func (c *Carbon) ToShortDateTimeMilliString(timezone ...string) string
- func (c *Carbon) ToShortDateTimeNanoString(timezone ...string) string
- func (c *Carbon) ToShortDateTimeString(timezone ...string) string
- func (c *Carbon) ToShortMonthString(timezone ...string) string
- func (c *Carbon) ToShortTimeMicroString(timezone ...string) string
- func (c *Carbon) ToShortTimeMilliString(timezone ...string) string
- func (c *Carbon) ToShortTimeNanoString(timezone ...string) string
- func (c *Carbon) ToShortTimeString(timezone ...string) string
- func (c *Carbon) ToShortWeekString(timezone ...string) string
- func (c *Carbon) ToString(timezone ...string) string
- func (c *Carbon) ToTimeMicroString(timezone ...string) string
- func (c *Carbon) ToTimeMilliString(timezone ...string) string
- func (c *Carbon) ToTimeNanoString(timezone ...string) string
- func (c *Carbon) ToTimeString(timezone ...string) string
- func (c *Carbon) ToUnixDateString(timezone ...string) string
- func (c *Carbon) ToW3cString(timezone ...string) string
- func (c *Carbon) ToWeekString(timezone ...string) string
- func (c *Carbon) Week() int
- func (c *Carbon) WeekEndsAt() Weekday
- func (c *Carbon) WeekOfMonth() int
- func (c *Carbon) WeekOfYear() int
- func (c *Carbon) WeekStartsAt() Weekday
- func (c *Carbon) Year() int
- func (c *Carbon) ZoneName() string
- func (c *Carbon) ZoneOffset() int
- type Date
- type DateMicro
- type DateMilli
- type DateNano
- type DateTime
- type DateTimeMicro
- type DateTimeMilli
- type DateTimeNano
- type Default
- type Duration
- type FormatFactory
- type FormatType
- type FrozenNow
- type Language
- type LayoutFactory
- type LayoutType
- type Location
- type StdTime
- type Time
- type TimeMicro
- type TimeMilli
- type TimeNano
- type Timestamp
- type TimestampFactory
- type TimestampMicro
- type TimestampMilli
- type TimestampNano
- type TimestampType
- func (t TimestampType[T]) GormDataType() string
- func (t TimestampType[T]) Int64() int64
- func (t TimestampType[T]) MarshalJSON() ([]byte, error)
- func (t *TimestampType[T]) Scan(src any) (err error)
- func (t TimestampType[T]) String() string
- func (t *TimestampType[T]) UnmarshalJSON(b []byte) error
- func (t TimestampType[T]) Value() (driver.Value, error)
- type Weekday
Examples ¶
- Carbon.AddCenturies
- Carbon.AddCenturiesNoOverflow
- Carbon.AddCentury
- Carbon.AddCenturyNoOverflow
- Carbon.AddDay
- Carbon.AddDays
- Carbon.AddDecade
- Carbon.AddDecadeNoOverflow
- Carbon.AddDecades
- Carbon.AddDecadesNoOverflow
- Carbon.AddDuration
- Carbon.AddHour
- Carbon.AddHours
- Carbon.AddMicrosecond
- Carbon.AddMicroseconds
- Carbon.AddMillisecond
- Carbon.AddMilliseconds
- Carbon.AddMinute
- Carbon.AddMinutes
- Carbon.AddMonth
- Carbon.AddMonthNoOverflow
- Carbon.AddMonths
- Carbon.AddMonthsNoOverflow
- Carbon.AddNanosecond
- Carbon.AddNanoseconds
- Carbon.AddQuarter
- Carbon.AddQuarterNoOverflow
- Carbon.AddQuarters
- Carbon.AddQuartersNoOverflow
- Carbon.AddSecond
- Carbon.AddSeconds
- Carbon.AddWeek
- Carbon.AddWeeks
- Carbon.AddYear
- Carbon.AddYearNoOverflow
- Carbon.AddYears
- Carbon.AddYearsNoOverflow
- Carbon.Age
- Carbon.Between
- Carbon.BetweenIncludedBoth
- Carbon.BetweenIncludedEnd
- Carbon.BetweenIncludedStart
- Carbon.Century
- Carbon.Closest
- Carbon.Compare
- Carbon.Constellation
- Carbon.Copy
- Carbon.CurrentLayout
- Carbon.Date
- Carbon.DateMicro
- Carbon.DateMilli
- Carbon.DateNano
- Carbon.DateTime
- Carbon.DateTimeMicro
- Carbon.DateTimeMilli
- Carbon.DateTimeNano
- Carbon.Day
- Carbon.DayOfMonth
- Carbon.DayOfWeek
- Carbon.DayOfYear
- Carbon.DaysInMonth
- Carbon.DaysInYear
- Carbon.Decade
- Carbon.DiffAbsInDays
- Carbon.DiffAbsInDuration
- Carbon.DiffAbsInHours
- Carbon.DiffAbsInMinutes
- Carbon.DiffAbsInMonths
- Carbon.DiffAbsInSeconds
- Carbon.DiffAbsInString
- Carbon.DiffAbsInWeeks
- Carbon.DiffAbsInYears
- Carbon.DiffForHumans
- Carbon.DiffInDays
- Carbon.DiffInDuration
- Carbon.DiffInHours
- Carbon.DiffInMinutes
- Carbon.DiffInMonths
- Carbon.DiffInSeconds
- Carbon.DiffInString
- Carbon.DiffInWeeks
- Carbon.DiffInYears
- Carbon.EndOfCentury
- Carbon.EndOfDay
- Carbon.EndOfDecade
- Carbon.EndOfHour
- Carbon.EndOfMinute
- Carbon.EndOfMonth
- Carbon.EndOfQuarter
- Carbon.EndOfSeason
- Carbon.EndOfSecond
- Carbon.EndOfWeek
- Carbon.EndOfYear
- Carbon.Eq
- Carbon.Farthest
- Carbon.Format
- Carbon.GoString
- Carbon.Gt
- Carbon.Gte
- Carbon.HasError
- Carbon.Hour
- Carbon.IsAM
- Carbon.IsApril
- Carbon.IsAquarius
- Carbon.IsAries
- Carbon.IsAugust
- Carbon.IsAutumn
- Carbon.IsCancer
- Carbon.IsCapricorn
- Carbon.IsDST
- Carbon.IsDecember
- Carbon.IsEpoch
- Carbon.IsFebruary
- Carbon.IsFriday
- Carbon.IsFuture
- Carbon.IsGemini
- Carbon.IsInvalid
- Carbon.IsJanuary
- Carbon.IsJuly
- Carbon.IsJune
- Carbon.IsLeapYear
- Carbon.IsLeo
- Carbon.IsLibra
- Carbon.IsLongYear
- Carbon.IsMarch
- Carbon.IsMay
- Carbon.IsMonday
- Carbon.IsNil
- Carbon.IsNovember
- Carbon.IsNow
- Carbon.IsOctober
- Carbon.IsPM
- Carbon.IsPast
- Carbon.IsPisces
- Carbon.IsSagittarius
- Carbon.IsSameCentury
- Carbon.IsSameDay
- Carbon.IsSameDecade
- Carbon.IsSameHour
- Carbon.IsSameMinute
- Carbon.IsSameMonth
- Carbon.IsSameQuarter
- Carbon.IsSameSecond
- Carbon.IsSameYear
- Carbon.IsSaturday
- Carbon.IsScorpio
- Carbon.IsSeptember
- Carbon.IsSpring
- Carbon.IsSummer
- Carbon.IsSunday
- Carbon.IsThursday
- Carbon.IsToday
- Carbon.IsTomorrow
- Carbon.IsTuesday
- Carbon.IsValid
- Carbon.IsVirgo
- Carbon.IsWednesday
- Carbon.IsWeekday
- Carbon.IsWeekend
- Carbon.IsWinter
- Carbon.IsYesterday
- Carbon.IsZero
- Carbon.Julian
- Carbon.Layout
- Carbon.Locale
- Carbon.Lt
- Carbon.Lte
- Carbon.Lunar
- Carbon.Microsecond
- Carbon.Millisecond
- Carbon.Minute
- Carbon.Month
- Carbon.MonthOfYear
- Carbon.Nanosecond
- Carbon.Ne
- Carbon.Persian
- Carbon.Quarter
- Carbon.Season
- Carbon.Second
- Carbon.SetDate
- Carbon.SetDateMicro
- Carbon.SetDateMilli
- Carbon.SetDateNano
- Carbon.SetDateTime
- Carbon.SetDateTimeMicro
- Carbon.SetDateTimeMilli
- Carbon.SetDateTimeNano
- Carbon.SetDay
- Carbon.SetFormat
- Carbon.SetHour
- Carbon.SetLanguage
- Carbon.SetLayout
- Carbon.SetLocale
- Carbon.SetLocation
- Carbon.SetMicrosecond
- Carbon.SetMillisecond
- Carbon.SetMinute
- Carbon.SetMonth
- Carbon.SetMonthNoOverflow
- Carbon.SetNanosecond
- Carbon.SetSecond
- Carbon.SetTime
- Carbon.SetTimeMicro
- Carbon.SetTimeMilli
- Carbon.SetTimeNano
- Carbon.SetTimezone
- Carbon.SetWeekStartsAt
- Carbon.SetWeekendDays
- Carbon.SetYear
- Carbon.SetYearNoOverflow
- Carbon.StartOfCentury
- Carbon.StartOfDay
- Carbon.StartOfDecade
- Carbon.StartOfHour
- Carbon.StartOfMinute
- Carbon.StartOfMonth
- Carbon.StartOfQuarter
- Carbon.StartOfSeason
- Carbon.StartOfSecond
- Carbon.StartOfWeek
- Carbon.StartOfYear
- Carbon.StdTime
- Carbon.String
- Carbon.SubCenturies
- Carbon.SubCenturiesNoOverflow
- Carbon.SubCentury
- Carbon.SubCenturyNoOverflow
- Carbon.SubDay
- Carbon.SubDays
- Carbon.SubDecade
- Carbon.SubDecadeNoOverflow
- Carbon.SubDecades
- Carbon.SubDecadesNoOverflow
- Carbon.SubDuration
- Carbon.SubHour
- Carbon.SubHours
- Carbon.SubMicrosecond
- Carbon.SubMicroseconds
- Carbon.SubMillisecond
- Carbon.SubMilliseconds
- Carbon.SubMinute
- Carbon.SubMinutes
- Carbon.SubMonth
- Carbon.SubMonthNoOverflow
- Carbon.SubMonths
- Carbon.SubMonthsNoOverflow
- Carbon.SubNanosecond
- Carbon.SubNanoseconds
- Carbon.SubQuarter
- Carbon.SubQuarterNoOverflow
- Carbon.SubQuarters
- Carbon.SubQuartersNoOverflow
- Carbon.SubSecond
- Carbon.SubSeconds
- Carbon.SubWeek
- Carbon.SubWeeks
- Carbon.SubYear
- Carbon.SubYearNoOverflow
- Carbon.SubYears
- Carbon.SubYearsNoOverflow
- Carbon.Time
- Carbon.TimeMicro
- Carbon.TimeMilli
- Carbon.TimeNano
- Carbon.Timestamp
- Carbon.TimestampMicro
- Carbon.TimestampMilli
- Carbon.TimestampNano
- Carbon.Timezone
- Carbon.ToAnsicString
- Carbon.ToAtomString
- Carbon.ToCookieString
- Carbon.ToDateMicroString
- Carbon.ToDateMilliString
- Carbon.ToDateNanoString
- Carbon.ToDateString
- Carbon.ToDateTimeMicroString
- Carbon.ToDateTimeMilliString
- Carbon.ToDateTimeNanoString
- Carbon.ToDateTimeString
- Carbon.ToDayDateTimeString
- Carbon.ToFormattedDateString
- Carbon.ToFormattedDayDateString
- Carbon.ToIso8601MicroString
- Carbon.ToIso8601MilliString
- Carbon.ToIso8601NanoString
- Carbon.ToIso8601String
- Carbon.ToIso8601ZuluMicroString
- Carbon.ToIso8601ZuluMilliString
- Carbon.ToIso8601ZuluNanoString
- Carbon.ToIso8601ZuluString
- Carbon.ToKitchenString
- Carbon.ToMonthString
- Carbon.ToRfc1036String
- Carbon.ToRfc1123String
- Carbon.ToRfc1123zString
- Carbon.ToRfc2822String
- Carbon.ToRfc3339MicroString
- Carbon.ToRfc3339MilliString
- Carbon.ToRfc3339NanoString
- Carbon.ToRfc3339String
- Carbon.ToRfc7231String
- Carbon.ToRfc822String
- Carbon.ToRfc822zString
- Carbon.ToRfc850String
- Carbon.ToRssString
- Carbon.ToRubyDateString
- Carbon.ToShortDateMicroString
- Carbon.ToShortDateMilliString
- Carbon.ToShortDateNanoString
- Carbon.ToShortDateString
- Carbon.ToShortDateTimeMicroString
- Carbon.ToShortDateTimeMilliString
- Carbon.ToShortDateTimeNanoString
- Carbon.ToShortDateTimeString
- Carbon.ToShortMonthString
- Carbon.ToShortTimeMicroString
- Carbon.ToShortTimeMilliString
- Carbon.ToShortTimeNanoString
- Carbon.ToShortTimeString
- Carbon.ToShortWeekString
- Carbon.ToString
- Carbon.ToTimeMicroString
- Carbon.ToTimeMilliString
- Carbon.ToTimeNanoString
- Carbon.ToTimeString
- Carbon.ToUnixDateString
- Carbon.ToW3cString
- Carbon.ToWeekString
- Carbon.Week
- Carbon.WeekEndsAt
- Carbon.WeekOfMonth
- Carbon.WeekOfYear
- Carbon.WeekStartsAt
- Carbon.Year
- Carbon.ZoneName
- Carbon.ZoneOffset
- CleanTestNow
- CreateFromDate
- CreateFromDateMicro
- CreateFromDateMilli
- CreateFromDateNano
- CreateFromDateTime
- CreateFromDateTimeMicro
- CreateFromDateTimeMilli
- CreateFromDateTimeNano
- CreateFromJulian
- CreateFromLunar
- CreateFromPersian
- CreateFromStdTime
- CreateFromTime
- CreateFromTimeMicro
- CreateFromTimeMilli
- CreateFromTimeNano
- CreateFromTimestamp
- CreateFromTimestampMicro
- CreateFromTimestampMilli
- CreateFromTimestampNano
- FormatType.MarshalJSON
- FormatType.UnmarshalJSON
- Language.SetLocale
- Language.SetResources
- LayoutType.MarshalJSON
- LayoutType.UnmarshalJSON
- Max
- MaxDuration
- MaxValue
- Min
- MinDuration
- MinValue
- NewCarbon
- Now
- Parse
- ParseByFormat
- ParseByLayout
- ParseWithFormats
- ParseWithLayouts
- SetDefault
- SetFormat
- SetLayout
- SetLocale
- SetLocation
- SetTestNow
- SetTimezone
- SetWeekStartsAt
- SetWeekendDays
- TimestampType.MarshalJSON
- TimestampType.UnmarshalJSON
- Tomorrow
- Yesterday
Constants ¶
const ( Local = "Local" // 本地时间 UTC = "UTC" // 世界协调时间 CET = "CET" // 欧洲中部标准时间 EET = "EET" // 欧洲东部标准时间 EST = "EST" // 美国东部标准时间 GMT = "GMT" // 格林尼治标准时间 MET = "MET" // 欧洲中部标准时间 MST = "MST" // 美国山地标准时间 UCT = "MST" // 世界协调时间 WET = "WET" // 欧洲西部标准时间 Zulu = "Zulu" // 世界协调时间 Cuba = "Cuba" // 古巴 Egypt = "Egypt" // 埃及 Eire = "Eire" // 爱尔兰 Greenwich = "Greenwich" // 格林尼治 Iceland = "Iceland" // 冰岛 Iran = "Iran" // 伊朗 Israel = "Israel" // 以色列 Jamaica = "Jamaica" // 牙买加 Japan = "Japan" // 日本 Libya = "Libya" // 利比亚 Poland = "Poland" // 波兰 Portugal = "Portugal" // 葡萄牙 PRC = "PRC" // 中国 Singapore = "Singapore" // 新加坡 Turkey = "Turkey" // 土耳其 Shanghai = "Asia/Shanghai" // 上海 Chongqing = "Asia/Chongqing" // 重庆 Harbin = "Asia/Harbin" // 哈尔滨 Urumqi = "Asia/Urumqi" // 乌鲁木齐 HongKong = "Asia/Hong_Kong" // 香港 Macao = "Asia/Macao" // 澳门 Taipei = "Asia/Taipei" // 台北 Tokyo = "Asia/Tokyo" // 东京 HoChiMinh = "Asia/Ho_Chi_Minh" // 胡志明 Hanoi = "Asia/Hanoi" // 河内 Saigon = "Asia/Saigon" // 西贡 Seoul = "Asia/Seoul" // 首尔 Pyongyang = "Asia/Pyongyang" // 平壤 Bangkok = "Asia/Bangkok" // 曼谷 Dubai = "Asia/Dubai" // 迪拜 Qatar = "Asia/Qatar" // 卡塔尔 Bangalore = "Asia/Bangalore" // 班加罗尔 Kolkata = "Asia/Kolkata" // 加尔各答 Mumbai = "Asia/Mumbai" // 孟买 MexicoCity = "America/Mexico_City" // 墨西哥 NewYork = "America/New_York" // 纽约 LosAngeles = "America/Los_Angeles" // 洛杉矶 Chicago = "America/Chicago" // 芝加哥 SaoPaulo = "America/Sao_Paulo" // 圣保罗 Moscow = "Europe/Moscow" // 莫斯科 London = "Europe/London" // 伦敦 Berlin = "Europe/Berlin" // 柏林 Paris = "Europe/Paris" // 巴黎 Rome = "Europe/Rome" // 罗马 Sydney = "Australia/Sydney" // 悉尼 Melbourne = "Australia/Melbourne" // 墨尔本 Darwin = "Australia/Darwin" // 达尔文 )
timezone constants 时区常量
const ( January = time.January // 一月 February = time.February // 二月 March = time.March // 三月 April = time.April // 四月 May = time.May // 五月 June = time.June // 六月 July = time.July // 七月 August = time.August // 八月 September = time.September // 九月 October = time.October // 十月 November = time.November // 十一月 December = time.December // 十二月 )
month constants 月份常量
const ( Aries = "Aries" // 白羊座 Taurus = "Taurus" // 金牛座 Gemini = "Gemini" // 双子座 Cancer = "Cancer" // 巨蟹座 Leo = "Leo" // 狮子座 Virgo = "Virgo" // 处女座 Libra = "Libra" // 天秤座 Scorpio = "Scorpio" // 天蝎座 Sagittarius = "Sagittarius" // 射手座 Capricorn = "Capricorn" // 摩羯座 Aquarius = "Aquarius" // 水瓶座 Pisces = "Pisces" // 双鱼座 )
constellation constants 星座常量
const ( Monday = time.Monday // 周一 Tuesday = time.Tuesday // 周二 Wednesday = time.Wednesday // 周三 Thursday = time.Thursday // 周四 Friday = time.Friday // 周五 Saturday = time.Saturday // 周六 Sunday = time.Sunday // 周日 )
week constants 星期常量
const ( Spring = "Spring" // 春季 Summer = "Summer" // 夏季 Autumn = "Autumn" // 秋季 Winter = "Winter" // 冬季 )
season constants 季节常量
const ( EpochYear = 1970 // UNIX 纪元年 YearsPerMillennium = 1000 // 每千年1000年 YearsPerCentury = 100 // 每世纪100年 YearsPerDecade = 10 // 每十年10年 QuartersPerYear = 4 // 每年4个季度 MonthsPerYear = 12 // 每年12月 MonthsPerQuarter = 3 // 每季度3月 WeeksPerNormalYear = 52 // 每常规年52周 WeeksPerLongYear = 53 // 每长年53周 WeeksPerMonth = 4 // 每月4周 DaysPerLeapYear = 366 // 每闰年366天 DaysPerNormalYear = 365 // 每常规年365天 DaysPerWeek = 7 // 每周7天 HoursPerWeek = 168 // 每周168小时 HoursPerDay = 24 // 每天24小时 MinutesPerDay = 1440 // 每天1440分钟 MinutesPerHour = 60 // 每小时60分钟 SecondsPerWeek = 604800 // 每周604800秒 SecondsPerDay = 86400 // 每天86400秒 SecondsPerHour = 3600 // 每小时3600秒 SecondsPerMinute = 60 // 每分钟60秒 )
number constants 数字常量
const ( AtomLayout = RFC3339Layout ANSICLayout = time.ANSIC CookieLayout = "Monday, 02-Jan-2006 15:04:05 MST" KitchenLayout = time.Kitchen RssLayout = time.RFC1123Z RubyDateLayout = time.RubyDate UnixDateLayout = time.UnixDate W3cLayout = RFC3339Layout RFC1036Layout = "Mon, 02 Jan 06 15:04:05 -0700" RFC1123Layout = time.RFC1123 RFC1123ZLayout = time.RFC1123Z RFC2822Layout = time.RFC1123Z RFC3339Layout = "2006-01-02T15:04:05Z07:00" RFC3339MilliLayout = "2006-01-02T15:04:05.999Z07:00" RFC3339MicroLayout = "2006-01-02T15:04:05.999999Z07:00" RFC3339NanoLayout = "2006-01-02T15:04:05.999999999Z07:00" RFC7231Layout = "Mon, 02 Jan 2006 15:04:05 MST" RFC822Layout = time.RFC822 RFC822ZLayout = time.RFC822Z RFC850Layout = time.RFC850 ISO8601Layout = "2006-01-02T15:04:05-07:00" ISO8601MilliLayout = "2006-01-02T15:04:05.999-07:00" ISO8601MicroLayout = "2006-01-02T15:04:05.999999-07:00" ISO8601NanoLayout = "2006-01-02T15:04:05.999999999-07:00" ISO8601ZuluLayout = "2006-01-02T15:04:05Z" ISO8601ZuluMilliLayout = "2006-01-02T15:04:05.999Z" ISO8601ZuluMicroLayout = "2006-01-02T15:04:05.999999Z" ISO8601ZuluNanoLayout = "2006-01-02T15:04:05.999999999Z" FormattedDateLayout = "Jan 2, 2006" FormattedDayDateLayout = "Mon, Jan 2, 2006" DayDateTimeLayout = "Mon, Jan 2, 2006 3:04 PM" DateTimeLayout = "2006-01-02 15:04:05" DateTimeMilliLayout = "2006-01-02 15:04:05.999" DateTimeMicroLayout = "2006-01-02 15:04:05.999999" DateTimeNanoLayout = "2006-01-02 15:04:05.999999999" ShortDateTimeLayout = "20060102150405" ShortDateTimeMilliLayout = "20060102150405.999" ShortDateTimeMicroLayout = "20060102150405.999999" ShortDateTimeNanoLayout = "20060102150405.999999999" DateLayout = "2006-01-02" DateMilliLayout = "2006-01-02.999" DateMicroLayout = "2006-01-02.999999" DateNanoLayout = "2006-01-02.999999999" ShortDateLayout = "20060102" ShortDateMilliLayout = "20060102.999" ShortDateMicroLayout = "20060102.999999" ShortDateNanoLayout = "20060102.999999999" TimeLayout = "15:04:05" TimeMilliLayout = "15:04:05.999" TimeMicroLayout = "15:04:05.999999" TimeNanoLayout = "15:04:05.999999999" ShortTimeLayout = "150405" ShortTimeMilliLayout = "150405.999" ShortTimeMicroLayout = "150405.999999" ShortTimeNanoLayout = "150405.999999999" TimestampLayout = "unix" TimestampMilliLayout = "unixMilli" TimestampMicroLayout = "unixMicro" TimestampNanoLayout = "unixNano" )
layout constants 布局模板常量
const ( AtomFormat = "Y-m-d\\TH:i:sR" ANSICFormat = "D M j H:i:s Y" CookieFormat = "l, d-M-Y H:i:s Z" KitchenFormat = "g:iA" RssFormat = "D, d M Y H:i:s O" RubyDateFormat = "D M d H:i:s O Y" UnixDateFormat = "D M j H:i:s Z Y" RFC1036Format = "D, d M y H:i:s O" RFC1123Format = "D, d M Y H:i:s Z" RFC1123ZFormat = "D, d M Y H:i:s O" RFC2822Format = "D, d M Y H:i:s O" RFC3339Format = "Y-m-d\\TH:i:sR" RFC3339MilliFormat = "Y-m-d\\TH:i:s.uR" RFC3339MicroFormat = "Y-m-d\\TH:i:s.vR" RFC3339NanoFormat = "Y-m-d\\TH:i:s.xR" RFC7231Format = "D, d M Y H:i:s Z" RFC822Format = "d M y H:i Z" RFC822ZFormat = "d M y H:i O" RFC850Format = "l, d-M-y H:i:s Z" ISO8601Format = "Y-m-d\\TH:i:sP" ISO8601MilliFormat = "Y-m-d\\TH:i:s.uP" ISO8601MicroFormat = "Y-m-d\\TH:i:s.vP" ISO8601NanoFormat = "Y-m-d\\TH:i:s.xP" ISO8601ZuluFormat = "Y-m-d\\TH:i:s\\Z" ISO8601ZuluMilliFormat = "Y-m-d\\TH:i:s.u\\Z" ISO8601ZuluMicroFormat = "Y-m-d\\TH:i:s.v\\Z" ISO8601ZuluNanoFormat = "Y-m-d\\TH:i:s.x\\Z" FormattedDateFormat = "M j, Y" FormattedDayDateFormat = "D, M j, Y" DayDateTimeFormat = "D, M j, Y g:i A" DateTimeFormat = "Y-m-d H:i:s" DateTimeMilliFormat = "Y-m-d H:i:s.u" DateTimeMicroFormat = "Y-m-d H:i:s.v" DateTimeNanoFormat = "Y-m-d H:i:s.x" ShortDateTimeFormat = "YmdHis" ShortDateTimeMilliFormat = "YmdHis.u" ShortDateTimeMicroFormat = "YmdHis.v" ShortDateTimeNanoFormat = "YmdHis.x" DateFormat = "Y-m-d" DateMilliFormat = "Y-m-d.u" DateMicroFormat = "Y-m-d.v" DateNanoFormat = "Y-m-d.x" ShortDateFormat = "Ymd" ShortDateMilliFormat = "Ymd.u" ShortDateMicroFormat = "Ymd.v" ShortDateNanoFormat = "Ymd.x" TimeFormat = "H:i:s" TimeMilliFormat = "H:i:s.u" TimeMicroFormat = "H:i:s.v" TimeNanoFormat = "H:i:s.x" ShortTimeFormat = "His" ShortTimeMilliFormat = "His.u" ShortTimeMicroFormat = "His.v" ShortTimeNanoFormat = "His.x" TimestampFormat = "S" TimestampMilliFormat = "U" TimestampMicroFormat = "V" TimestampNanoFormat = "X" )
format constants 格式模板常量
const ( PrecisionSecond = 9 PrecisionMillisecond = 999 PrecisionMicrosecond = 999999 PrecisionNanosecond = 999999999 )
timestamp precision constants 时间戳精度常量
const Version = "2.6.3"
Version current version 当前版本号
Variables ¶
var ( // DefaultLayout default layout // 默认布局模板 DefaultLayout = DateTimeLayout // DefaultTimezone default timezone // 默认时区 DefaultTimezone = UTC // DefaultLocale default language locale // 默认语言区域 DefaultLocale = "en" // DefaultWeekStartsAt default start date of the week // 默认一周开始日期 DefaultWeekStartsAt = Monday // DefaultWeekendDays default weekend days of the week // 默认周末日期 DefaultWeekendDays = []Weekday{ Saturday, Sunday, } )
var ( // ErrFailedParse failed to parse error. // 失败的解析错误 ErrFailedParse = func(value any) error { return fmt.Errorf("failed to parse %v as carbon", value) } // ErrFailedScan failed to scan error. // 失败的扫描错误 ErrFailedScan = func(value any) error { return fmt.Errorf("failed to scan %v as carbon", value) } // ErrInvalidTimestamp invalid timestamp error. // 无效的时间戳错误 ErrInvalidTimestamp = func(value string) error { return fmt.Errorf("invalid timestamp %v", value) } // ErrNilLocation nil location error. // 空指针位置错误 ErrNilLocation = func() error { return fmt.Errorf("location cannot be nil") } // ErrNilLanguage nil language error. // 空指针语言错误 ErrNilLanguage = func() error { return fmt.Errorf("language cannot be nil") } // ErrEmptyLocale empty locale error. // 空的语言环境错误 ErrEmptyLocale = func() error { return fmt.Errorf("locale cannot be empty") } // ErrNotExistLocale not exist locale error. // 不存在的语言环境错误 ErrNotExistLocale = func(locale string) error { return fmt.Errorf("locale %q doesn't exist", locale) } // ErrEmptyResources empty resources error. // 空的资源错误 ErrEmptyResources = func() error { return fmt.Errorf("resources cannot be empty") } // ErrInvalidResourcesError invalid resources error. // 无效的资源错误 ErrInvalidResourcesError = func() error { return fmt.Errorf("invalid resources") } // ErrEmptyTimezone empty timezone error. // 空的时区错误 ErrEmptyTimezone = func() error { return fmt.Errorf("timezone cannot be empty") } // ErrInvalidTimezone invalid timezone error. // 无效的时区错误 ErrInvalidTimezone = func(timezone string) error { return fmt.Errorf("invalid timezone %q, please see the file %q for all valid timezones", timezone, "$GOROOT/lib/time/zoneinfo.zip") } // ErrEmptyDuration empty duration error. // 空的时长错误 ErrEmptyDuration = func() error { return fmt.Errorf("duration cannot be empty") } // ErrInvalidDuration invalid duration error. // 无效的时长错误 ErrInvalidDuration = func(duration string) error { return fmt.Errorf("invalid duration %q", duration) } // ErrEmptyLayout empty layout error. // 空的布局模板错误 ErrEmptyLayout = func() error { return fmt.Errorf("layout cannot be empty") } // ErrMismatchedLayout mismatched layout error. // 不匹配的布局模板错误 ErrMismatchedLayout = func(value, layout string) error { return fmt.Errorf("value %q and layout %q are mismatched", value, layout) } // ErrEmptyFormat empty format error. // 空的格式模板错误 ErrEmptyFormat = func() error { return fmt.Errorf("format cannot be empty") } // ErrMismatchedFormat mismatched format error. // 不匹配的格式模板错误 ErrMismatchedFormat = func(value, format string) error { return fmt.Errorf("value %q and format %q are mismatched", value, format) } )
Functions ¶
func CleanTestNow ¶ added in v2.6.0
func CleanTestNow()
CleanTestNow clears the test Carbon instance for now. 清除当前测试时间
Example ¶
carbon.SetTestNow(carbon.Parse("2020-08-05")) fmt.Println(carbon.IsTestNow()) carbon.CleanTestNow() fmt.Println(carbon.IsTestNow())
Output: true false
func IsTestNow ¶ added in v2.6.0
func IsTestNow() bool
IsTestNow reports whether is testing time. 是否是测试时间
func SetDefault ¶
func SetDefault(d Default)
SetDefault sets default. 设置全局默认值
Example ¶
defer carbon.ResetDefault() carbon.SetDefault(carbon.Default{ Layout: carbon.DateTimeLayout, Timezone: carbon.PRC, Locale: "zh-CN", WeekStartsAt: carbon.Monday, WeekendDays: []carbon.Weekday{ carbon.Saturday, carbon.Sunday, }, }) fmt.Println("default layout:", carbon.DefaultLayout) fmt.Println("default timezone:", carbon.DefaultTimezone) fmt.Println("default week starts at:", carbon.DefaultWeekStartsAt) fmt.Println("default weekend days:", carbon.DefaultWeekendDays) fmt.Println("default locale:", carbon.DefaultLocale)
Output: default layout: 2006-01-02 15:04:05 default timezone: PRC default week starts at: Monday default weekend days: [Saturday Sunday] default locale: zh-CN
func SetTestNow ¶ added in v2.6.0
func SetTestNow(carbon *Carbon)
SetTestNow sets a test Carbon instance for now, remember to clear after use. 设置当前测试时间,使用完别忘清除
Example ¶
defer carbon.CleanTestNow() now := carbon.Parse("2020-08-05") carbon.SetTestNow(now) fmt.Println(carbon.Now().ToDateString()) fmt.Println(carbon.Yesterday().ToDateString()) fmt.Println(carbon.Tomorrow().ToDateString()) fmt.Println(carbon.Now().DiffForHumans()) fmt.Println(carbon.Yesterday().DiffForHumans()) fmt.Println(carbon.Tomorrow().DiffForHumans()) fmt.Println(carbon.Parse("2020-10-05").DiffForHumans()) fmt.Println(now.DiffForHumans(carbon.Parse("2020-10-05")))
Output: 2020-08-05 2020-08-04 2020-08-06 just now 1 day ago 1 day from now 2 months from now 2 months before
Types ¶
type Carbon ¶
type Carbon struct { Error error // contains filtered or unexported fields }
Carbon defines a Carbon struct. 定义 Carbon 结构体
func CreateFromDate ¶
CreateFromDate creates a Carbon instance from a given date. 从给定的年、月、日创建 Carbon 实例
Example ¶
fmt.Println(carbon.CreateFromDate(2020, 8, 5).ToString()) fmt.Println(carbon.CreateFromDate(2020, 8, 5, carbon.PRC).ToString())
Output: 2020-08-05 00:00:00 +0000 UTC 2020-08-05 00:00:00 +0800 CST
func CreateFromDateMicro ¶
CreateFromDateMicro creates a Carbon instance from a given date and microsecond. 从给定的年、月、日、微秒创建 Carbon 实例
Example ¶
fmt.Println(carbon.CreateFromDateMicro(2020, 8, 5, 999999).ToString()) fmt.Println(carbon.CreateFromDateMicro(2020, 8, 5, 999999, carbon.PRC).ToString())
Output: 2020-08-05 00:00:00.999999 +0000 UTC 2020-08-05 00:00:00.999999 +0800 CST
func CreateFromDateMilli ¶
CreateFromDateMilli creates a Carbon instance from a given date and millisecond. 从给定的年、月、日、毫秒创建 Carbon 实例
Example ¶
fmt.Println(carbon.CreateFromDateMilli(2020, 8, 5, 999).ToString()) fmt.Println(carbon.CreateFromDateMilli(2020, 8, 5, 999, carbon.PRC).ToString())
Output: 2020-08-05 00:00:00.999 +0000 UTC 2020-08-05 00:00:00.999 +0800 CST
func CreateFromDateNano ¶
CreateFromDateNano creates a Carbon instance from a given date and nanosecond. 从给定的年、月、日、纳秒创建 Carbon 实例
Example ¶
fmt.Println(carbon.CreateFromDateNano(2020, 8, 5, 999999999).ToString()) fmt.Println(carbon.CreateFromDateNano(2020, 8, 5, 999999999, carbon.PRC).ToString())
Output: 2020-08-05 00:00:00.999999999 +0000 UTC 2020-08-05 00:00:00.999999999 +0800 CST
func CreateFromDateTime ¶
CreateFromDateTime creates a Carbon instance from a given date and time. 从给定的年、月、日、时、分、秒创建 Carbon 实例
Example ¶
fmt.Println(carbon.CreateFromDateTime(2020, 8, 5, 13, 14, 15).ToString()) fmt.Println(carbon.CreateFromDateTime(2020, 8, 5, 13, 14, 15, carbon.PRC).ToString())
Output: 2020-08-05 13:14:15 +0000 UTC 2020-08-05 13:14:15 +0800 CST
func CreateFromDateTimeMicro ¶
func CreateFromDateTimeMicro(year, month, day, hour, minute, second, microsecond int, timezone ...string) *Carbon
CreateFromDateTimeMicro creates a Carbon instance from a given date, time and microsecond. 从给定的年、月、日、时、分、秒、微秒创建 Carbon 实例
Example ¶
fmt.Println(carbon.CreateFromDateTimeMicro(2020, 8, 5, 13, 14, 15, 999999).ToString()) fmt.Println(carbon.CreateFromDateTimeMicro(2020, 8, 5, 13, 14, 15, 999999, carbon.PRC).ToString())
Output: 2020-08-05 13:14:15.999999 +0000 UTC 2020-08-05 13:14:15.999999 +0800 CST
func CreateFromDateTimeMilli ¶
func CreateFromDateTimeMilli(year, month, day, hour, minute, second, millisecond int, timezone ...string) *Carbon
CreateFromDateTimeMilli creates a Carbon instance from a given date, time and millisecond. 从给定的年、月、日、时、分、秒、毫秒创建 Carbon 实例
Example ¶
fmt.Println(carbon.CreateFromDateTimeMilli(2020, 8, 5, 13, 14, 15, 999).ToString()) fmt.Println(carbon.CreateFromDateTimeMilli(2020, 8, 5, 13, 14, 15, 999, carbon.PRC).ToString())
Output: 2020-08-05 13:14:15.999 +0000 UTC 2020-08-05 13:14:15.999 +0800 CST
func CreateFromDateTimeNano ¶
func CreateFromDateTimeNano(year, month, day, hour, minute, second, nanosecond int, timezone ...string) *Carbon
CreateFromDateTimeNano creates a Carbon instance from a given date, time and nanosecond. 从给定的年、月、日、时、分、秒、纳秒创建 Carbon 实例
Example ¶
fmt.Println(carbon.CreateFromDateTimeNano(2020, 8, 5, 13, 14, 15, 999999999).ToString()) fmt.Println(carbon.CreateFromDateTimeNano(2020, 8, 5, 13, 14, 15, 999999999, carbon.PRC).ToString())
Output: 2020-08-05 13:14:15.999999999 +0000 UTC 2020-08-05 13:14:15.999999999 +0800 CST
func CreateFromJulian ¶
CreateFromJulian creates a Carbon instance from Julian Day or Modified Julian Day. 从 儒略日/简化儒略日 创建 Carbon 实例
Example ¶
fmt.Println(carbon.CreateFromJulian(2.460333051563e+06).ToString()) fmt.Println(carbon.CreateFromJulian(60332.551563).ToString())
Output: 2024-01-23 13:14:15 +0000 UTC 2024-01-23 13:14:15 +0000 UTC
func CreateFromLunar ¶
CreateFromLunar creates a Carbon instance from Lunar date. 从 农历日期 创建 Carbon 实例
Example ¶
fmt.Println(carbon.CreateFromLunar(2023, 2, 11, false).ToString(carbon.PRC)) fmt.Println(carbon.CreateFromLunar(2023, 2, 11, true).ToString(carbon.PRC))
Output: 2023-03-02 00:00:00 +0800 CST 2023-04-01 00:00:00 +0800 CST
func CreateFromPersian ¶
CreateFromPersian creates a Carbon instance from Persian date. 从 波斯日期 创建 Carbon 实例
Example ¶
fmt.Println(carbon.CreateFromPersian(1178, 10, 11).ToDateString()) fmt.Println(carbon.CreateFromPersian(1402, 10, 11).ToDateString()) fmt.Println(carbon.CreateFromPersian(1403, 5, 15).ToDateString())
Output: 1800-01-01 2024-01-01 2024-08-05
func CreateFromStdTime ¶
CreateFromStdTime creates a Carbon instance from standard time.Time. 从标准的 time.Time 创建 Carbon 实例
Example ¶
t1, _ := time.Parse(carbon.DateTimeLayout, "2020-08-05 13:14:15") fmt.Println(carbon.CreateFromStdTime(t1).ToString()) loc, _ := time.LoadLocation(carbon.PRC) t2, _ := time.ParseInLocation(carbon.DateTimeLayout, "2020-08-05 13:14:15", loc) fmt.Println(carbon.CreateFromStdTime(t2).ToString())
Output: 2020-08-05 13:14:15 +0000 UTC 2020-08-05 13:14:15 +0800 CST
func CreateFromTime ¶
CreateFromTime creates a Carbon instance from a given time(year, month and day are taken from the current time). 从给定的时、分、秒创建 Carbon 实例(年、月、日取自当前时间)
Example ¶
fmt.Println(carbon.CreateFromTime(13, 14, 15).ToTimeString()) fmt.Println(carbon.CreateFromTime(13, 14, 15, carbon.PRC).ToTimeString())
Output: 13:14:15 13:14:15
func CreateFromTimeMicro ¶
CreateFromTimeMicro creates a Carbon instance from a given time and microsecond(year, month and day are taken from the current time). 从给定的时、分、秒、微秒创建 Carbon 实例(年、月、日取自当前时间)
Example ¶
fmt.Println(carbon.CreateFromTimeMicro(13, 14, 15, 999999).ToTimeMicroString()) fmt.Println(carbon.CreateFromTimeMicro(13, 14, 15, 999999, carbon.PRC).ToTimeMicroString())
Output: 13:14:15.999999 13:14:15.999999
func CreateFromTimeMilli ¶
CreateFromTimeMilli creates a Carbon instance from a given time and millisecond(year, month and day are taken from the current time). 从给定的时、分、秒、毫秒创建 Carbon 实例(年、月、日取自当前时间)
Example ¶
fmt.Println(carbon.CreateFromTimeMilli(13, 14, 15, 999).ToTimeMilliString()) fmt.Println(carbon.CreateFromTimeMilli(13, 14, 15, 999, carbon.PRC).ToTimeMilliString())
Output: 13:14:15.999 13:14:15.999
func CreateFromTimeNano ¶
CreateFromTimeNano creates a Carbon instance from a given time and nanosecond(year, month and day are taken from the current time). 从给定的时、分、秒、纳秒创建 Carbon 实例(年、月、日取自当前时间)
Example ¶
fmt.Println(carbon.CreateFromTimeNano(13, 14, 15, 999999999).ToTimeNanoString()) fmt.Println(carbon.CreateFromTimeNano(13, 14, 15, 999999999, carbon.PRC).ToTimeNanoString())
Output: 13:14:15.999999999 13:14:15.999999999
func CreateFromTimestamp ¶
CreateFromTimestamp creates a Carbon instance from a given timestamp with second precision. 从给定的秒精度时间戳创建 Carbon 实例
Example ¶
fmt.Println(carbon.CreateFromTimestamp(-1).ToString()) fmt.Println(carbon.CreateFromTimestamp(0).ToString()) fmt.Println(carbon.CreateFromTimestamp(1, carbon.PRC).ToString()) fmt.Println(carbon.CreateFromTimestamp(1649735755, carbon.PRC).ToString())
Output: 1969-12-31 23:59:59 +0000 UTC 1970-01-01 00:00:00 +0000 UTC 1970-01-01 08:00:01 +0800 CST 2022-04-12 11:55:55 +0800 CST
func CreateFromTimestampMicro ¶
CreateFromTimestampMicro creates a Carbon instance from a given timestamp with microsecond precision. 从给定的微秒精度时间戳创建 Carbon 实例
Example ¶
fmt.Println(carbon.CreateFromTimestampMicro(-1).ToString()) fmt.Println(carbon.CreateFromTimestampMicro(0).ToString()) fmt.Println(carbon.CreateFromTimestampMicro(1, carbon.PRC).ToString()) fmt.Println(carbon.CreateFromTimestampMicro(1649735755981566, carbon.PRC).ToString())
Output: 1969-12-31 23:59:59.999999 +0000 UTC 1970-01-01 00:00:00 +0000 UTC 1970-01-01 08:00:00.000001 +0800 CST 2022-04-12 11:55:55.981566 +0800 CST
func CreateFromTimestampMilli ¶
CreateFromTimestampMilli creates a Carbon instance from a given timestamp with millisecond precision. 从给定的毫秒精度时间戳创建 Carbon 实例
Example ¶
fmt.Println(carbon.CreateFromTimestampMilli(-1).ToString()) fmt.Println(carbon.CreateFromTimestampMilli(0).ToString()) fmt.Println(carbon.CreateFromTimestampMilli(1, carbon.PRC).ToString()) fmt.Println(carbon.CreateFromTimestampMilli(1649735755981, carbon.PRC).ToString())
Output: 1969-12-31 23:59:59.999 +0000 UTC 1970-01-01 00:00:00 +0000 UTC 1970-01-01 08:00:00.001 +0800 CST 2022-04-12 11:55:55.981 +0800 CST
func CreateFromTimestampNano ¶
CreateFromTimestampNano creates a Carbon instance from a given timestamp with nanosecond precision. 从给定的纳秒精度时间戳创建 Carbon 实例
Example ¶
fmt.Println(carbon.CreateFromTimestampNano(-1).ToString()) fmt.Println(carbon.CreateFromTimestampNano(0).ToString()) fmt.Println(carbon.CreateFromTimestampNano(1, carbon.PRC).ToString()) fmt.Println(carbon.CreateFromTimestampNano(1649735755981566888, carbon.PRC).ToString())
Output: 1969-12-31 23:59:59.999999999 +0000 UTC 1970-01-01 00:00:00 +0000 UTC 1970-01-01 08:00:00.000000001 +0800 CST 2022-04-12 11:55:55.981566888 +0800 CST
func Max ¶
Max returns the maximum Carbon instance from the given Carbon instance. 返回最大的 Carbon 实例
Example ¶
fmt.Println(carbon.Max(carbon.Parse("2020-08-06"), carbon.Parse("2021-08-05")).ToString())
Output: 2021-08-05 00:00:00 +0000 UTC
func MaxValue ¶ added in v2.5.1
func MaxValue() *Carbon
MaxValue returns a Carbon instance for the greatest supported date. 返回 Carbon 的最大值
Example ¶
fmt.Println(carbon.MaxValue().ToString())
Output: 9999-12-31 23:59:59.999999999 +0000 UTC
func Min ¶
Min returns the minimum Carbon instance from the given Carbon instance. 返回最小的 Carbon 实例
Example ¶
fmt.Println(carbon.Min(carbon.Parse("2020-08-06"), carbon.Parse("2021-08-05")).ToString())
Output: 2020-08-06 00:00:00 +0000 UTC
func MinValue ¶ added in v2.5.1
func MinValue() *Carbon
MinValue returns a Carbon instance for the lowest supported date. 返回 Carbon 的最小值
Example ¶
fmt.Println(carbon.MinValue().ToString())
Output: 0001-01-01 00:00:00 +0000 UTC
func NewCarbon ¶
NewCarbon returns a new Carbon instance. 返回 Carbon 实例
Example ¶
loc, _ := time.LoadLocation(carbon.PRC) t1, _ := time.Parse(carbon.DateTimeLayout, "2020-08-05 13:14:15") t2, _ := time.ParseInLocation(carbon.DateTimeLayout, "2020-08-05 13:14:15", loc) fmt.Println("go zero time:", time.Time{}.String()) fmt.Println("go zero time with timezone:", time.Time{}.In(loc).String()) fmt.Println("go valid time:", t1.String()) fmt.Println("go valid time with timezone:", t2.In(loc).String()) fmt.Println("carbon zero time:", carbon.NewCarbon().ToString()) fmt.Println("carbon zero time with timezone:", carbon.NewCarbon().SetLocation(loc).ToString()) fmt.Println("carbon valid time:", carbon.NewCarbon(t1).ToString()) fmt.Println("carbon valid time with timezone:", carbon.NewCarbon(t2).SetLocation(loc).ToString())
Output: go zero time: 0001-01-01 00:00:00 +0000 UTC go zero time with timezone: 0001-01-01 08:05:43 +0805 LMT go valid time: 2020-08-05 13:14:15 +0000 UTC go valid time with timezone: 2020-08-05 13:14:15 +0800 CST carbon zero time: 0001-01-01 00:00:00 +0000 UTC carbon zero time with timezone: 0001-01-01 08:05:43 +0805 LMT carbon valid time: 2020-08-05 13:14:15 +0000 UTC carbon valid time with timezone: 2020-08-05 13:14:15 +0800 CST
func Now ¶
Now returns a Carbon instance for now. 当前
Example ¶
defer carbon.CleanTestNow() carbon.SetTestNow(carbon.Parse("2020-08-05")) fmt.Println(carbon.Now(carbon.UTC).ToString())
Output: 2020-08-05 00:00:00 +0000 UTC
func Parse ¶
Parse parses a standard time string as a Carbon instance. 将标准格式时间字符串解析成 Carbon 实例
Example ¶
fmt.Println(carbon.Parse("2020-8-5").ToString()) fmt.Println(carbon.Parse("2020-8-05").ToString()) fmt.Println(carbon.Parse("2020-08-05").ToString()) fmt.Println(carbon.Parse("2020-8-5 1:2:3").ToString()) fmt.Println(carbon.Parse("2020-08-05 1:2:03").ToString()) fmt.Println(carbon.Parse("2020-08-05 1:02:03").ToString()) fmt.Println(carbon.Parse("2020-08-05 01:02:03").ToString()) fmt.Println(carbon.Parse("2023-01-08T09:02:48").ToString()) fmt.Println(carbon.Parse("2023-1-8T09:02:48").ToString()) fmt.Println(carbon.Parse("2023-01-08T9:2:48").ToString()) fmt.Println(carbon.Parse("2023-01-8T9:2:48").ToString()) fmt.Println(carbon.Parse("0000-01-01 00:00:00").ToString()) fmt.Println(carbon.Parse("0001-01-01 00:00:00").ToString())
Output: 2020-08-05 00:00:00 +0000 UTC 2020-08-05 00:00:00 +0000 UTC 2020-08-05 00:00:00 +0000 UTC 2020-08-05 01:02:03 +0000 UTC 2020-08-05 01:02:03 +0000 UTC 2020-08-05 01:02:03 +0000 UTC 2020-08-05 01:02:03 +0000 UTC 2023-01-08 09:02:48 +0000 UTC 2023-01-08 09:02:48 +0000 UTC 2023-01-08 09:02:48 +0000 UTC 2023-01-08 09:02:48 +0000 UTC 0000-01-01 00:00:00 +0000 UTC 0001-01-01 00:00:00 +0000 UTC
func ParseByFormat ¶
ParseByFormat parses a time string as a Carbon instance by a confirmed format. 通过一个确认的 格式模板 将时间字符串解析成 Carbon 实例
Example ¶
fmt.Println(carbon.ParseByFormat("2020-08-05", carbon.DateFormat).ToString()) fmt.Println(carbon.ParseByFormat("2020-08-05 13:14:15", carbon.DateTimeFormat, carbon.PRC).ToString()) fmt.Println(carbon.ParseByFormat("2020|08|05 13:14:15", "Y|m|d H:i:s").ToString()) fmt.Println(carbon.ParseByFormat("It is 2020-08-05 13:14:15", "\\I\\t \\i\\s Y-m-d H:i:s").ToString()) fmt.Println(carbon.ParseByFormat("今天是 2020年08月05日13时14分15秒", "今天是 Y年m月d日H时i分s秒").ToString()) fmt.Println(carbon.ParseByFormat("1699677240", carbon.TimestampFormat).ToString()) fmt.Println(carbon.ParseByFormat("1699677240666", carbon.TimestampMilliFormat).ToString()) fmt.Println(carbon.ParseByFormat("1699677240666666", carbon.TimestampMicroFormat).ToString()) fmt.Println(carbon.ParseByFormat("1699677240666666666", carbon.TimestampNanoFormat).ToString())
Output: 2020-08-05 00:00:00 +0000 UTC 2020-08-05 13:14:15 +0800 CST 2020-08-05 13:14:15 +0000 UTC 2020-08-05 13:14:15 +0000 UTC 2020-08-05 13:14:15 +0000 UTC 2023-11-11 04:34:00 +0000 UTC 2023-11-11 04:34:00.666 +0000 UTC 2023-11-11 04:34:00.666666 +0000 UTC 2023-11-11 04:34:00.666666666 +0000 UTC
func ParseByLayout ¶
ParseByLayout parses a time string as a Carbon instance by a confirmed layout 通过一个确认的 布局模板 将时间字符串解析成 Carbon 实例
Example ¶
fmt.Println(carbon.ParseByLayout("2020-08-05", carbon.DateLayout).ToString()) fmt.Println(carbon.ParseByLayout("2020-08-05 13:14:15", carbon.DateTimeLayout, carbon.PRC).ToString()) fmt.Println(carbon.ParseByLayout("2020|08|05 13:14:15", "2006|01|02 15:04:05").ToString()) fmt.Println(carbon.ParseByLayout("It is 2020-08-05 13:14:15", "It is 2006-01-02 15:04:05").ToString()) fmt.Println(carbon.ParseByLayout("今天是 2020年08月05日13时14分15秒", "今天是 2006年01月02日15时04分05秒").ToString()) fmt.Println(carbon.ParseByLayout("1699677240", carbon.TimestampLayout).ToString()) fmt.Println(carbon.ParseByLayout("1699677240666", carbon.TimestampMilliLayout).ToString()) fmt.Println(carbon.ParseByLayout("1699677240666666", carbon.TimestampMicroLayout).ToString()) fmt.Println(carbon.ParseByLayout("1699677240666666666", carbon.TimestampNanoLayout).ToString())
Output: 2020-08-05 00:00:00 +0000 UTC 2020-08-05 13:14:15 +0800 CST 2020-08-05 13:14:15 +0000 UTC 2020-08-05 13:14:15 +0000 UTC 2020-08-05 13:14:15 +0000 UTC 2023-11-11 04:34:00 +0000 UTC 2023-11-11 04:34:00.666 +0000 UTC 2023-11-11 04:34:00.666666 +0000 UTC 2023-11-11 04:34:00.666666666 +0000 UTC
func ParseWithFormats ¶ added in v2.6.1
ParseWithFormats parses a time string as a Carbon instance with multiple fuzzy formats. 通过多个模糊的 格式模板 将时间字符串解析成 Carbon 实例
Example ¶
c := carbon.ParseWithFormats("2020|08|05 13|14|15", []string{"Y|m|d H|i|s", "y|m|d h|i|s"}) fmt.Println(c.ToString()) fmt.Println(c.CurrentLayout())
Output: 2020-08-05 13:14:15 +0000 UTC 2006|01|02 15|04|05
func ParseWithLayouts ¶ added in v2.6.1
ParseWithLayouts parses a time string as a Carbon instance with multiple fuzzy layouts. 通过多个模糊的 布局模板 将时间字符串解析成 Carbon 实例
Example ¶
c := carbon.ParseWithLayouts("2020|08|05 13|14|15", []string{"2006|01|02 15|04|05", "2006|1|2 3|4|5"}) fmt.Println(c.ToString()) fmt.Println(c.CurrentLayout())
Output: 2020-08-05 13:14:15 +0000 UTC 2006|01|02 15|04|05
func SetFormat ¶ added in v2.6.0
SetFormat sets globally default format. 设置全局默认格式模板
Example ¶
defer carbon.SetFormat(carbon.DateTimeFormat) fmt.Println("current layout:", carbon.SetFormat(carbon.DateTimeFormat).CurrentLayout()) fmt.Println("current layout:", carbon.SetFormat(carbon.TimeFormat).CurrentLayout())
Output: current layout: 2006-01-02 15:04:05 current layout: 15:04:05
func SetLayout ¶ added in v2.6.0
SetLayout sets globally default layout. 设置全局默认布局模板
Example ¶
defer carbon.SetLayout(carbon.DateTimeLayout) fmt.Println("current layout:", carbon.SetLayout(carbon.DateTimeLayout).CurrentLayout()) fmt.Println("current layout:", carbon.SetLayout(carbon.TimeLayout).CurrentLayout())
Output: current layout: 2006-01-02 15:04:05 current layout: 15:04:05
func SetLocale ¶
SetLocale sets globally default locale. 设置全局默认语言区域
Example ¶
defer carbon.SetLocale("en") carbon.SetLocale("zh-CN") c := carbon.Parse("2020-08-05") fmt.Println(c.Constellation()) fmt.Println(c.Season()) fmt.Println(c.ToMonthString()) fmt.Println(c.ToShortMonthString()) fmt.Println(c.ToWeekString()) fmt.Println(c.ToShortWeekString())
Output: 狮子座 夏季 八月 8月 星期三 周三
func SetLocation ¶
SetLocation sets globally default location. 设置全局默认位置
Example ¶
defer carbon.SetLocation(time.UTC) utcTZ, _ := time.LoadLocation(carbon.UTC) fmt.Println("UTC zone location:", carbon.SetLocation(utcTZ).Timezone()) fmt.Println("UTC zone name:", carbon.SetLocation(utcTZ).ZoneName()) fmt.Println("UTC zone offset:", carbon.SetLocation(utcTZ).ZoneOffset()) prcTZ, _ := time.LoadLocation(carbon.PRC) fmt.Println("PRC zone location:", carbon.SetLocation(prcTZ).Timezone()) fmt.Println("PRC zone name:", carbon.SetLocation(prcTZ).ZoneName()) fmt.Println("PRC zone offset:", carbon.SetLocation(prcTZ).ZoneOffset()) japanTZ, _ := time.LoadLocation(carbon.Japan) fmt.Println("Japan zone location:", carbon.SetLocation(japanTZ).Timezone()) fmt.Println("Japan zone name:", carbon.SetLocation(japanTZ).ZoneName()) fmt.Println("Japan zone offset:", carbon.SetLocation(japanTZ).ZoneOffset())
Output: UTC zone location: UTC UTC zone name: UTC UTC zone offset: 0 PRC zone location: PRC PRC zone name: LMT PRC zone offset: 29143 Japan zone location: Japan Japan zone name: LMT Japan zone offset: 33539
func SetTimezone ¶
SetTimezone sets globally default timezone. 设置全局默认时区
Example ¶
defer carbon.SetTimezone(carbon.UTC) fmt.Println("UTC zone location:", carbon.SetTimezone(carbon.UTC).Timezone()) fmt.Println("UTC zone name:", carbon.SetTimezone(carbon.UTC).ZoneName()) fmt.Println("UTC zone offset:", carbon.SetTimezone(carbon.UTC).ZoneOffset()) fmt.Println("PRC zone location:", carbon.SetTimezone(carbon.PRC).Timezone()) fmt.Println("PRC zone name:", carbon.SetTimezone(carbon.PRC).ZoneName()) fmt.Println("PRC zone offset:", carbon.SetTimezone(carbon.PRC).ZoneOffset()) fmt.Println("Japan zone location:", carbon.SetTimezone(carbon.Japan).Timezone()) fmt.Println("Japan zone name:", carbon.SetTimezone(carbon.Japan).ZoneName()) fmt.Println("Japan zone offset:", carbon.SetTimezone(carbon.Japan).ZoneOffset())
Output: UTC zone location: UTC UTC zone name: UTC UTC zone offset: 0 PRC zone location: PRC PRC zone name: LMT PRC zone offset: 29143 Japan zone location: Japan Japan zone name: LMT Japan zone offset: 33539
func SetWeekStartsAt ¶
SetWeekStartsAt sets globally default start day of the week. 设置全局默认周起始日期
Example ¶
defer carbon.SetWeekStartsAt(carbon.Monday) fmt.Println(carbon.SetWeekStartsAt(carbon.Sunday).WeekStartsAt()) fmt.Println(carbon.SetWeekStartsAt(carbon.Monday).WeekStartsAt())
Output: Sunday Monday
func SetWeekendDays ¶ added in v2.6.3
SetWeekendDays sets globally default weekend days of the week. 设置全局默认一周周末日期
Example ¶
defer carbon.SetWeekendDays([]carbon.Weekday{ carbon.Saturday, carbon.Sunday, }) carbon.SetWeekendDays([]carbon.Weekday{ carbon.Saturday, }) fmt.Println(carbon.Parse("2025-04-12").IsWeekend()) fmt.Println(carbon.Parse("2025-04-13").IsWeekend()) carbon.SetWeekendDays([]carbon.Weekday{ carbon.Sunday, }) fmt.Println(carbon.Parse("2025-04-12").IsWeekend()) fmt.Println(carbon.Parse("2025-04-13").IsWeekend())
Output: true false false true
func Tomorrow ¶
Tomorrow returns a Carbon instance for tomorrow. 明天
Example ¶
defer carbon.CleanTestNow() carbon.SetTestNow(carbon.Parse("2020-08-05")) fmt.Println(carbon.Tomorrow(carbon.UTC).ToString())
Output: 2020-08-06 00:00:00 +0000 UTC
func Yesterday ¶
Yesterday returns a Carbon instance for yesterday. 昨天
Example ¶
defer carbon.CleanTestNow() carbon.SetTestNow(carbon.Parse("2020-08-05")) fmt.Println(carbon.Yesterday(carbon.UTC).ToString())
Output: 2020-08-04 00:00:00 +0000 UTC
func (*Carbon) AddCenturies ¶
AddCenturies adds some centuries. N 个世纪后
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddCenturies(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddCenturies(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddCenturies(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2120-01-01 13:14:15 +0000 UTC 2220-01-01 13:14:15 +0000 UTC
func (*Carbon) AddCenturiesNoOverflow ¶
AddCenturiesNoOverflow adds some centuries without overflowing month. N 个世纪后(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddCenturiesNoOverflow(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddCenturiesNoOverflow(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddCenturiesNoOverflow(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2120-01-01 13:14:15 +0000 UTC 2220-01-01 13:14:15 +0000 UTC
func (*Carbon) AddCentury ¶
AddCentury adds one century. 1 个世纪后
Example ¶
defer carbon.CleanTestNow() fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddCentury().ToString())
Output: 2120-01-01 13:14:15 +0000 UTC
func (*Carbon) AddCenturyNoOverflow ¶
AddCenturyNoOverflow adds one century without overflowing month. 1 个世纪后(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddCenturyNoOverflow().ToString())
Output: 2120-01-01 13:14:15 +0000 UTC
func (*Carbon) AddDay ¶
AddDay adds one day. 1 天后
Example ¶
fmt.Println(carbon.Parse("2020-01-01").AddDay().ToDateString()) fmt.Println(carbon.Parse("2020-02-28").AddDay().ToDateString()) fmt.Println(carbon.Parse("2020-02-29").AddDay().ToDateString()) fmt.Println(carbon.Parse("2020-11-30").AddDay().ToDateString())
Output: 2020-01-02 2020-02-29 2020-03-01 2020-12-01
func (*Carbon) AddDays ¶
AddDays adds some days. N 天后
Example ¶
fmt.Println(carbon.Parse("2020-01-01").AddDays(0).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").AddDays(1).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").AddDays(2).ToDateString()) fmt.Println(carbon.Parse("2020-02-29").AddDays(3).ToDateString()) fmt.Println(carbon.Parse("2020-08-31").AddDays(2).ToDateString())
Output: 2020-01-01 2020-01-02 2020-01-03 2020-03-03 2020-09-02
func (*Carbon) AddDecade ¶
AddDecade adds one decade. 1 个年代后
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddDecade().ToString())
Output: 2030-01-01 13:14:15 +0000 UTC
func (*Carbon) AddDecadeNoOverflow ¶
AddDecadeNoOverflow adds one decade without overflowing month. 1 个年代后(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddDecadeNoOverflow().ToString())
Output: 2030-01-01 13:14:15 +0000 UTC
func (*Carbon) AddDecades ¶
AddDecades adds some decades. N 个年代后
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddDecades(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddDecades(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddDecades(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2030-01-01 13:14:15 +0000 UTC 2040-01-01 13:14:15 +0000 UTC
func (*Carbon) AddDecadesNoOverflow ¶
AddDecadesNoOverflow adds some decades without overflowing month. N 个年代后(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddDecadesNoOverflow(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddDecadesNoOverflow(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddDecadesNoOverflow(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2030-01-01 13:14:15 +0000 UTC 2040-01-01 13:14:15 +0000 UTC
func (*Carbon) AddDuration ¶
AddDuration adds duration. 按照时长增加时间,支持整数/浮点数和符号ns(纳秒)、us(微妙)、ms(毫秒)、s(秒)、m(分钟)、h(小时)的组合
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddDuration("10h").ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddDuration("10.5h").ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddDuration("10m").ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddDuration("10.5m").ToString())
Output: 2020-01-01 23:14:15 +0000 UTC 2020-01-01 23:44:15 +0000 UTC 2020-01-01 13:24:15 +0000 UTC 2020-01-01 13:24:45 +0000 UTC
func (*Carbon) AddHour ¶
AddHour adds one hour. 1 小时后
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").AddHour().ToString())
Output: 2020-08-05 14:14:15 +0000 UTC
func (*Carbon) AddHours ¶
AddHours adds some hours. N 小时后
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddHours(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddHours(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddHours(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2020-01-01 14:14:15 +0000 UTC 2020-01-01 15:14:15 +0000 UTC
func (*Carbon) AddMicrosecond ¶
AddMicrosecond adds one microsecond. 1 微秒后
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").AddMicrosecond().ToString())
Output: 2020-08-05 13:14:15.000001 +0000 UTC
func (*Carbon) AddMicroseconds ¶
AddMicroseconds adds some microseconds. N 微秒后
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddMicroseconds(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddMicroseconds(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddMicroseconds(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2020-01-01 13:14:15.000001 +0000 UTC 2020-01-01 13:14:15.000002 +0000 UTC
func (*Carbon) AddMillisecond ¶
AddMillisecond adds one millisecond. 1 毫秒后
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").AddMillisecond().ToString())
Output: 2020-08-05 13:14:15.001 +0000 UTC
func (*Carbon) AddMilliseconds ¶
AddMilliseconds adds some milliseconds. N 毫秒后
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddMilliseconds(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddMilliseconds(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddMilliseconds(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2020-01-01 13:14:15.001 +0000 UTC 2020-01-01 13:14:15.002 +0000 UTC
func (*Carbon) AddMinute ¶
AddMinute adds one minute. 1 分钟后
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").AddMinute().ToString())
Output: 2020-08-05 13:15:15 +0000 UTC
func (*Carbon) AddMinutes ¶
AddMinutes adds some minutes. N 分钟后
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddMinutes(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddMinutes(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddMinutes(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2020-01-01 13:15:15 +0000 UTC 2020-01-01 13:16:15 +0000 UTC
func (*Carbon) AddMonth ¶
AddMonth adds one month. 1 个月后
Example ¶
fmt.Println(carbon.Parse("2020-01-01").AddMonth().ToDateString()) fmt.Println(carbon.Parse("2020-02-28").AddMonth().ToDateString()) fmt.Println(carbon.Parse("2020-02-29").AddMonth().ToDateString()) fmt.Println(carbon.Parse("2020-11-30").AddMonth().ToDateString())
Output: 2020-02-01 2020-03-28 2020-03-29 2020-12-30
func (*Carbon) AddMonthNoOverflow ¶
AddMonthNoOverflow adds one month without overflowing month. 1 个月后(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01").AddMonthNoOverflow().ToDateString()) fmt.Println(carbon.Parse("2020-02-28").AddMonthNoOverflow().ToDateString()) fmt.Println(carbon.Parse("2020-02-29").AddMonthNoOverflow().ToDateString()) fmt.Println(carbon.Parse("2020-11-30").AddMonthNoOverflow().ToDateString())
Output: 2020-02-01 2020-03-28 2020-03-29 2020-12-30
func (*Carbon) AddMonths ¶
AddMonths adds some months. N 个月后
Example ¶
fmt.Println(carbon.Parse("2020-01-01").AddMonths(0).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").AddMonths(1).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").AddMonths(2).ToDateString()) fmt.Println(carbon.Parse("2020-02-29").AddMonths(3).ToDateString()) fmt.Println(carbon.Parse("2020-08-31").AddMonths(2).ToDateString())
Output: 2020-01-01 2020-02-01 2020-03-01 2020-05-29 2020-10-31
func (*Carbon) AddMonthsNoOverflow ¶
AddMonthsNoOverflow adds some months without overflowing month. N 个月后(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01").AddMonthsNoOverflow(0).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").AddMonthsNoOverflow(1).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").AddMonthsNoOverflow(2).ToDateString()) fmt.Println(carbon.Parse("2020-02-29").AddMonthsNoOverflow(3).ToDateString()) fmt.Println(carbon.Parse("2020-08-31").AddMonthsNoOverflow(2).ToDateString())
Output: 2020-01-01 2020-02-01 2020-03-01 2020-05-29 2020-10-31
func (*Carbon) AddNanosecond ¶
AddNanosecond adds one nanosecond. 1 纳秒后
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").AddNanosecond().ToString())
Output: 2020-08-05 13:14:15.000000001 +0000 UTC
func (*Carbon) AddNanoseconds ¶
AddNanoseconds adds some nanoseconds. N 纳秒后
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddNanoseconds(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddNanoseconds(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddNanoseconds(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2020-01-01 13:14:15.000000001 +0000 UTC 2020-01-01 13:14:15.000000002 +0000 UTC
func (*Carbon) AddQuarter ¶
AddQuarter adds one quarter 1 个季度后
Example ¶
fmt.Println(carbon.Parse("2020-01-01").AddQuarter().ToDateString()) fmt.Println(carbon.Parse("2020-02-28").AddQuarter().ToDateString()) fmt.Println(carbon.Parse("2020-02-29").AddQuarter().ToDateString()) fmt.Println(carbon.Parse("2020-11-30").AddQuarter().ToDateString())
Output: 2020-04-01 2020-05-28 2020-05-29 2021-03-02
func (*Carbon) AddQuarterNoOverflow ¶
AddQuarterNoOverflow adds one quarter without overflowing month. 1 个季度后(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01").AddQuarterNoOverflow().ToDateString()) fmt.Println(carbon.Parse("2020-02-28").AddQuarterNoOverflow().ToDateString()) fmt.Println(carbon.Parse("2020-02-29").AddQuarterNoOverflow().ToDateString()) fmt.Println(carbon.Parse("2020-11-30").AddQuarterNoOverflow().ToDateString())
Output: 2020-04-01 2020-05-28 2020-05-29 2021-02-28
func (*Carbon) AddQuarters ¶
AddQuarters adds some quarters N 个季度后
Example ¶
fmt.Println(carbon.Parse("2020-01-01").AddQuarters(0).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").AddQuarters(1).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").AddQuarters(2).ToDateString()) fmt.Println(carbon.Parse("2020-02-29").AddQuarters(3).ToDateString()) fmt.Println(carbon.Parse("2020-08-31").AddQuarters(2).ToDateString())
Output: 2020-01-01 2020-04-01 2020-07-01 2020-11-29 2021-03-03
func (*Carbon) AddQuartersNoOverflow ¶
AddQuartersNoOverflow adds quarters without overflowing month. N 个季度后(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01").AddQuartersNoOverflow(0).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").AddQuartersNoOverflow(1).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").AddQuartersNoOverflow(2).ToDateString()) fmt.Println(carbon.Parse("2020-02-29").AddQuartersNoOverflow(3).ToDateString()) fmt.Println(carbon.Parse("2020-08-31").AddQuartersNoOverflow(2).ToDateString())
Output: 2020-01-01 2020-04-01 2020-07-01 2020-11-29 2021-02-28
func (*Carbon) AddSecond ¶
AddSecond adds one second. 1 秒钟后
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").AddSecond().ToString())
Output: 2020-08-05 13:14:16 +0000 UTC
func (*Carbon) AddSeconds ¶
AddSeconds adds some seconds. N 秒钟后
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddSeconds(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddSeconds(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").AddSeconds(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2020-01-01 13:14:16 +0000 UTC 2020-01-01 13:14:17 +0000 UTC
func (*Carbon) AddWeek ¶
AddWeek adds one week. 1 周后
Example ¶
fmt.Println(carbon.Parse("2020-01-01").AddWeek().ToDateString()) fmt.Println(carbon.Parse("2020-02-28").AddWeek().ToDateString()) fmt.Println(carbon.Parse("2020-02-29").AddWeek().ToDateString()) fmt.Println(carbon.Parse("2020-11-30").AddWeek().ToDateString())
Output: 2020-01-08 2020-03-06 2020-03-07 2020-12-07
func (*Carbon) AddWeeks ¶
AddWeeks adds some weeks. N 周后
Example ¶
fmt.Println(carbon.Parse("2020-01-01").AddWeeks(0).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").AddWeeks(1).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").AddWeeks(2).ToDateString()) fmt.Println(carbon.Parse("2020-02-29").AddWeeks(3).ToDateString()) fmt.Println(carbon.Parse("2020-08-31").AddWeeks(2).ToDateString())
Output: 2020-01-01 2020-01-08 2020-01-15 2020-03-21 2020-09-14
func (*Carbon) AddYear ¶
AddYear adds one year. 1 年后
Example ¶
fmt.Println(carbon.Parse("2020-01-01").AddYear().ToDateString()) fmt.Println(carbon.Parse("2020-02-28").AddYear().ToDateString()) fmt.Println(carbon.Parse("2020-02-29").AddYear().ToDateString())
Output: 2021-01-01 2021-02-28 2021-03-01
func (*Carbon) AddYearNoOverflow ¶
AddYearNoOverflow adds one year without overflowing month. 1 年后(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01").AddYearNoOverflow().ToDateString()) fmt.Println(carbon.Parse("2020-02-28").AddYearNoOverflow().ToDateString()) fmt.Println(carbon.Parse("2020-02-29").AddYearNoOverflow().ToDateString())
Output: 2021-01-01 2021-02-28 2021-02-28
func (*Carbon) AddYears ¶
AddYears adds some years. N 年后
Example ¶
fmt.Println(carbon.Parse("2020-01-01").AddYears(0).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").AddYears(1).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").AddYears(2).ToDateString()) fmt.Println(carbon.Parse("2020-02-29").AddYears(3).ToDateString())
Output: 2020-01-01 2021-01-01 2022-01-01 2023-03-01
func (*Carbon) AddYearsNoOverflow ¶
AddYearsNoOverflow adds some years without overflowing month. N 年后(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01").AddYearsNoOverflow(0).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").AddYearsNoOverflow(1).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").AddYearsNoOverflow(2).ToDateString()) fmt.Println(carbon.Parse("2020-02-29").AddYearsNoOverflow(3).ToDateString())
Output: 2020-01-01 2021-01-01 2022-01-01 2023-02-28
func (*Carbon) Age ¶
Age gets age like 18. 获取年龄
Example ¶
fmt.Println(carbon.Now().AddYears(18).Age()) fmt.Println(carbon.Now().SubYears(18).Age())
Output: 0 18
func (*Carbon) Between ¶
Between reports whether between two times, excluded the start and end time. 是否在两个时间之间(不包括这两个时间)
Example ¶
fmt.Println(carbon.Parse("2020-08-05 22:00:00").Between(carbon.Parse("2020-08-05 21:00:00"), carbon.Parse("2020-08-05 23:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").Between(carbon.Parse("2020-08-05 22:00:00"), carbon.Parse("2020-08-05 23:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").Between(carbon.Parse("2020-08-05 21:00:00"), carbon.Parse("2020-08-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").Between(carbon.Parse("2020-08-05 22:00:00"), carbon.Parse("2020-08-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").Between(carbon.Parse("2021-08-05 22:00:00"), carbon.Parse("2019-08-05 22:00:00")))
Output: true false false false false
func (*Carbon) BetweenIncludedBoth ¶
BetweenIncludedBoth reports whether between two times, included the start and end time. 是否在两个时间之间(包括这两个时间)
Example ¶
fmt.Println(carbon.Parse("2020-08-05 22:00:00").BetweenIncludedBoth(carbon.Parse("2020-08-05 22:00:00"), carbon.Parse("2020-08-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").BetweenIncludedBoth(carbon.Parse("2020-08-05 21:00:00"), carbon.Parse("2020-08-05 23:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").BetweenIncludedBoth(carbon.Parse("2020-08-05 22:00:00"), carbon.Parse("2020-08-05 23:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").BetweenIncludedBoth(carbon.Parse("2020-08-05 21:00:00"), carbon.Parse("2020-08-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").BetweenIncludedBoth(carbon.Parse("2022-08-05 22:00:00"), carbon.Parse("2021-08-05 22:00:00")))
Output: true true true true false
func (*Carbon) BetweenIncludedEnd ¶
BetweenIncludedEnd reports whether between two times, included the end time. 是否在两个时间之间(包括结束时间)
Example ¶
fmt.Println(carbon.Parse("2020-08-05 22:00:00").BetweenIncludedEnd(carbon.Parse("2020-08-05 22:00:00"), carbon.Parse("2020-08-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").BetweenIncludedEnd(carbon.Parse("2020-08-05 21:00:00"), carbon.Parse("2020-08-05 23:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").BetweenIncludedEnd(carbon.Parse("2020-08-05 22:00:00"), carbon.Parse("2020-08-05 23:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").BetweenIncludedEnd(carbon.Parse("2020-08-05 21:00:00"), carbon.Parse("2020-08-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").BetweenIncludedEnd(carbon.Parse("2022-08-05 22:00:00"), carbon.Parse("2021-08-05 22:00:00")))
Output: false true false true false
func (*Carbon) BetweenIncludedStart ¶
BetweenIncludedStart reports whether between two times, included the start time. 是否在两个时间之间(包括开始时间)
Example ¶
fmt.Println(carbon.Parse("2020-08-05 22:00:00").BetweenIncludedStart(carbon.Parse("2020-08-05 22:00:00"), carbon.Parse("2020-08-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").BetweenIncludedStart(carbon.Parse("2020-08-05 21:00:00"), carbon.Parse("2020-08-05 23:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").BetweenIncludedStart(carbon.Parse("2020-08-05 22:00:00"), carbon.Parse("2020-08-05 23:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").BetweenIncludedStart(carbon.Parse("2020-08-05 21:00:00"), carbon.Parse("2020-08-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").BetweenIncludedStart(carbon.Parse("2022-08-05 22:00:00"), carbon.Parse("2021-08-05 22:00:00")))
Output: false true true false false
func (*Carbon) Century ¶
Century gets current century like 21. 获取当前世纪
Example ¶
fmt.Println(carbon.Parse("1990-08-05").Century()) fmt.Println(carbon.Parse("2021-08-05").Century())
Output: 20 21
func (*Carbon) Closest ¶
Closest returns the closest Carbon instance from the given Carbon instance. 返回离给定 carbon 实例最近的 Carbon 实例
Example ¶
fmt.Println(carbon.Parse("2020-08-05").Closest(carbon.Parse("2020-08-06"), carbon.Parse("2021-08-05")).ToString())
Output: 2020-08-06 00:00:00 +0000 UTC
func (*Carbon) Compare ¶
Compare compares by an operator. 时间比较
Example ¶
fmt.Println(carbon.Parse("2020-08-05 22:00:00").Compare(">=", carbon.Parse("2020-08-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").Compare("<", carbon.Parse("2020-08-05 22:00:00")))
Output: true false
func (*Carbon) Constellation ¶
Constellation gets constellation name like "Aries", i18n is supported. 获取星座,支持 i18n
Example ¶
fmt.Println(carbon.Parse("2020-01-05").Constellation()) fmt.Println(carbon.Parse("2020-02-05").Constellation()) fmt.Println(carbon.Parse("2020-03-05").Constellation()) fmt.Println(carbon.Parse("2020-04-05").Constellation()) fmt.Println(carbon.Parse("2020-05-05").Constellation()) fmt.Println(carbon.Parse("2020-06-05").Constellation()) fmt.Println(carbon.Parse("2020-07-05").Constellation()) fmt.Println(carbon.Parse("2020-08-05").Constellation()) fmt.Println(carbon.Parse("2020-09-05").Constellation()) fmt.Println(carbon.Parse("2020-10-05").Constellation()) fmt.Println(carbon.Parse("2020-11-05").Constellation()) fmt.Println(carbon.Parse("2020-12-05").Constellation())
Output: Capricorn Aquarius Pisces Aries Taurus Gemini Cancer Leo Virgo Libra Scorpio Sagittarius
func (*Carbon) Copy ¶ added in v2.6.0
Copy returns a new copy of the current Carbon instance 复制 Carbon 实例
Example ¶
oldCarbon := carbon.Parse("2020-08-05") newCarbon := oldCarbon.Copy() oldCarbon = oldCarbon.AddDay().SetLayout(carbon.DateTimeLayout).SetLocale("zh-CN").SetWeekStartsAt(carbon.Sunday) fmt.Printf("old time: %s\n", oldCarbon.ToString()) fmt.Printf("new time: %s\n", newCarbon.ToString()) fmt.Printf("old layout: %s\n", oldCarbon.CurrentLayout()) fmt.Printf("new layout: %s\n", newCarbon.CurrentLayout()) fmt.Printf("old locale: %s\n", oldCarbon.Locale()) fmt.Printf("new locale: %s\n", newCarbon.Locale()) fmt.Printf("old week starts at: %s\n", oldCarbon.WeekStartsAt()) fmt.Printf("new week starts at: %s\n", newCarbon.WeekStartsAt())
Output: old time: 2020-08-06 00:00:00 +0000 UTC new time: 2020-08-05 00:00:00 +0000 UTC old layout: 2006-01-02 15:04:05 new layout: 2006-01-02 old locale: zh-CN new locale: en old week starts at: Sunday new week starts at: Monday
func (*Carbon) CurrentLayout ¶ added in v2.5.4
CurrentLayout returns the layout used for parsing the time string. 获取当前布局模板
Example ¶
fmt.Println(carbon.Parse("now").CurrentLayout()) fmt.Println(carbon.ParseByLayout("13:14:15", carbon.TimeLayout).CurrentLayout()) fmt.Println(carbon.ParseByLayout("2020-08-05", carbon.DateLayout).CurrentLayout())
Output: 2006-01-02 15:04:05 15:04:05 2006-01-02
func (*Carbon) Date ¶
Date gets current year, month, and day like 2020, 8, 5. 获取当前年、月、日
Example ¶
year, month, day := carbon.Parse("2020-08-05 13:14:15.999999999").Date() fmt.Println(year) fmt.Println(month) fmt.Println(day)
Output: 2020 8 5
func (*Carbon) DateMicro ¶
DateMicro gets current year, month, day and microsecond like 2020, 8, 5, 999999. 获取当前年、月、日、微秒
Example ¶
year, month, day, microsecond := carbon.Parse("2020-08-05 13:14:15.999999999").DateMicro() fmt.Println(year) fmt.Println(month) fmt.Println(day) fmt.Println(microsecond)
Output: 2020 8 5 999999
func (*Carbon) DateMilli ¶
DateMilli gets current year, month, day and millisecond like 2020, 8, 5, 999. 获取当前年、月、日、毫秒
Example ¶
year, month, day, millisecond := carbon.Parse("2020-08-05 13:14:15.999999999").DateMilli() fmt.Println(year) fmt.Println(month) fmt.Println(day) fmt.Println(millisecond)
Output: 2020 8 5 999
func (*Carbon) DateNano ¶
DateNano gets current year, month, day and nanosecond like 2020, 8, 5, 999999999. 获取当前年、月、日、纳秒
Example ¶
year, month, day, nanosecond := carbon.Parse("2020-08-05 13:14:15.999999999").DateNano() fmt.Println(year) fmt.Println(month) fmt.Println(day) fmt.Println(nanosecond)
Output: 2020 8 5 999999999
func (*Carbon) DateTime ¶
DateTime gets current year, month, day, hour, minute, and second like 2020, 8, 5, 13, 14, 15. 获取当前年、月、日、时、分、秒
Example ¶
year, month, day, hour, minute, second := carbon.Parse("2020-08-05 13:14:15.999999999").DateTime() fmt.Println(year) fmt.Println(month) fmt.Println(day) fmt.Println(hour) fmt.Println(minute) fmt.Println(second)
Output: 2020 8 5 13 14 15
func (*Carbon) DateTimeMicro ¶
DateTimeMicro gets current year, month, day, hour, minute, second and microsecond like 2020, 8, 5, 13, 14, 15, 999999. 获取当前年、月、日、时、分、秒、微秒
Example ¶
year, month, day, hour, minute, second, microsecond := carbon.Parse("2020-08-05 13:14:15.999999999").DateTimeMicro() fmt.Println(year) fmt.Println(month) fmt.Println(day) fmt.Println(hour) fmt.Println(minute) fmt.Println(second) fmt.Println(microsecond)
Output: 2020 8 5 13 14 15 999999
func (*Carbon) DateTimeMilli ¶
DateTimeMilli gets current year, month, day, hour, minute, second and millisecond like 2020, 8, 5, 13, 14, 15, 999. 获取当前年、月、日、时、分、秒、毫秒
Example ¶
year, month, day, hour, minute, second, millisecond := carbon.Parse("2020-08-05 13:14:15.999999999").DateTimeMilli() fmt.Println(year) fmt.Println(month) fmt.Println(day) fmt.Println(hour) fmt.Println(minute) fmt.Println(second) fmt.Println(millisecond)
Output: 2020 8 5 13 14 15 999
func (*Carbon) DateTimeNano ¶
DateTimeNano gets current year, month, day, hour, minute, second and nanosecond like 2020, 8, 5, 13, 14, 15, 999999999. 获取当前年、月、日、时、分、秒、纳秒
Example ¶
year, month, day, hour, minute, second, nanosecond := carbon.Parse("2020-08-05 13:14:15.999999999").DateTimeNano() fmt.Println(year) fmt.Println(month) fmt.Println(day) fmt.Println(hour) fmt.Println(minute) fmt.Println(second) fmt.Println(nanosecond)
Output: 2020 8 5 13 14 15 999999999
func (*Carbon) Day ¶
Day gets current day like 5. 获取当前日
Example ¶
fmt.Println(carbon.Parse("2020-08-05").Day())
Output: 5
func (*Carbon) DayOfMonth ¶
DayOfMonth gets day of month like 30. 获取本月的第几天
Example ¶
fmt.Println(carbon.Parse("2020-01-01").DayOfMonth()) fmt.Println(carbon.Parse("2020-01-05").DayOfMonth()) fmt.Println(carbon.Parse("2020-01-31").DayOfMonth())
Output: 1 5 31
func (*Carbon) DayOfWeek ¶
DayOfWeek gets day of week like 6, start from 1. 获取本周的第几天
Example ¶
fmt.Println(carbon.Parse("2020-08-03").DayOfWeek()) fmt.Println(carbon.Parse("2020-08-04").DayOfWeek()) fmt.Println(carbon.Parse("2020-08-05").DayOfWeek())
Output: 1 2 3
func (*Carbon) DayOfYear ¶
DayOfYear gets day of year like 365. 获取本年的第几天
Example ¶
fmt.Println(carbon.Parse("2020-01-05").DayOfYear()) fmt.Println(carbon.Parse("2020-02-05").DayOfYear()) fmt.Println(carbon.Parse("2020-03-05").DayOfYear()) fmt.Println(carbon.Parse("2020-04-05").DayOfYear())
Output: 5 36 65 96
func (*Carbon) DaysInMonth ¶
DaysInMonth gets total days in month like 30. 获取本月的总天数
Example ¶
fmt.Println(carbon.Parse("2020-01-05").DaysInMonth()) fmt.Println(carbon.Parse("2020-02-05").DaysInMonth()) fmt.Println(carbon.Parse("2020-03-05").DaysInMonth()) fmt.Println(carbon.Parse("2020-04-05").DaysInMonth())
Output: 31 29 31 30
func (*Carbon) DaysInYear ¶
DaysInYear gets total days in year like 365. 获取本年的总天数
Example ¶
fmt.Println(carbon.Parse("2020-08-05").DaysInYear()) fmt.Println(carbon.Parse("2021-08-05").DaysInYear())
Output: 366 365
func (*Carbon) Decade ¶
Decade gets current decade like 20. 获取当前年代
Example ¶
fmt.Println(carbon.Parse("2010-08-05").Decade()) fmt.Println(carbon.Parse("2011-08-05").Decade()) fmt.Println(carbon.Parse("2020-08-05").Decade()) fmt.Println(carbon.Parse("2021-08-05").Decade())
Output: 10 10 20 20
func (*Carbon) DiffAbsInDays ¶
DiffAbsInDays gets the difference in days with absolute value. 相差多少天(绝对值)
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInDays(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInDays(carbon.Parse("2020-08-04 13:14:59"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInDays(carbon.Parse("2020-08-06 13:14:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInDays(carbon.Parse("2020-08-04 13:00:00")))
Output: 0 0 1 1
func (*Carbon) DiffAbsInDuration ¶
DiffAbsInDuration gets the difference in duration with absolute value. 相差时长(绝对值)
Example ¶
defer carbon.CleanTestNow() now := carbon.Parse("2020-08-05 13:14:15") carbon.SetTestNow(now) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInDuration(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(now.Copy().AddYearsNoOverflow(1).DiffAbsInDuration(now).String()) fmt.Println(now.Copy().SubYearsNoOverflow(1).DiffAbsInDuration(now).String()) fmt.Println(now.Copy().AddMonthsNoOverflow(1).DiffAbsInDuration(now).String()) fmt.Println(now.Copy().SubMonthsNoOverflow(1).DiffAbsInDuration(now).String()) fmt.Println(now.Copy().AddDays(1).DiffAbsInDuration(now).String()) fmt.Println(now.Copy().SubDays(1).DiffAbsInDuration(now).String())
Output: 0s 8760h0m0s 8784h0m0s 744h0m0s 744h0m0s 24h0m0s 24h0m0s
func (*Carbon) DiffAbsInHours ¶
DiffAbsInHours gets the difference in hours with absolute value. 相差多少小时(绝对值)
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInHours(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInHours(carbon.Parse("2020-08-05 14:13:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInHours(carbon.Parse("2020-08-05 12:14:00"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInHours(carbon.Parse("2020-08-05 14:14:15")))
Output: 0 0 1 1
func (*Carbon) DiffAbsInMinutes ¶
DiffAbsInMinutes gets the difference in minutes with absolute value. 相差多少分钟(绝对值)
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInMinutes(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInMinutes(carbon.Parse("2020-08-05 13:15:10"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInMinutes(carbon.Parse("2020-08-05 13:13:00"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInMinutes(carbon.Parse("2020-08-05 13:15:15")))
Output: 0 0 1 1
func (*Carbon) DiffAbsInMonths ¶
DiffAbsInMonths gets the difference in months with absolute value. 相差多少月(绝对值)
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInMonths(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInMonths(carbon.Parse("2020-07-28 13:14:00"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInMonths(carbon.Parse("2020-09-06 13:14:59"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInMonths(carbon.Parse("2018-08-28 13:14:59")))
Output: 0 0 1 23
func (*Carbon) DiffAbsInSeconds ¶
DiffAbsInSeconds gets the difference in seconds with absolute value. 相差多少秒(绝对值)
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInSeconds(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInSeconds(carbon.Parse("2020-08-05 13:14:15.999999"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInSeconds(carbon.Parse("2020-08-05 13:14:20"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInSeconds(carbon.Parse("2020-08-05 13:14:10")))
Output: 0 0 5 5
func (*Carbon) DiffAbsInString ¶
DiffAbsInString gets the difference in string with absolute value, i18n is supported. 相差字符串,支持 i18n(绝对值)
Example ¶
defer carbon.CleanTestNow() now := carbon.Parse("2020-08-05 13:14:15") carbon.SetTestNow(now) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInString(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(now.Copy().AddYearsNoOverflow(1).DiffAbsInString(now)) fmt.Println(now.Copy().SubYearsNoOverflow(1).DiffAbsInString(now)) fmt.Println(now.Copy().AddMonthsNoOverflow(1).DiffAbsInString(now)) fmt.Println(now.Copy().SubMonthsNoOverflow(1).DiffAbsInString(now)) fmt.Println(now.Copy().AddWeeks(1).DiffAbsInString(now)) fmt.Println(now.Copy().SubWeeks(1).DiffAbsInString(now)) fmt.Println(now.Copy().AddDays(1).DiffAbsInString(now)) fmt.Println(now.Copy().SubDays(1).DiffAbsInString(now)) fmt.Println(now.Copy().AddHours(1).DiffAbsInString(now)) fmt.Println(now.Copy().SubHours(1).DiffAbsInString(now)) fmt.Println(now.Copy().AddMinutes(1).DiffAbsInString(now)) fmt.Println(now.Copy().SubMinutes(1).DiffAbsInString(now)) fmt.Println(now.Copy().AddSeconds(1).DiffAbsInString(now)) fmt.Println(now.Copy().SubSeconds(1).DiffAbsInString(now))
Output: just now 1 year 1 year 1 month 1 month 1 week 1 week 1 day 1 day 1 hour 1 hour 1 minute 1 minute 1 second 1 second
func (*Carbon) DiffAbsInWeeks ¶
DiffAbsInWeeks gets the difference in weeks with absolute value. 相差多少周(绝对值)
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInWeeks(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInWeeks(carbon.Parse("2020-07-28 13:14:00"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInWeeks(carbon.Parse("2020-08-12 13:14:15")))
Output: 0 1 1
func (*Carbon) DiffAbsInYears ¶
DiffAbsInYears gets the difference in years with absolute value. 相差多少年(绝对值)
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInYears(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(carbon.Parse("2020-12-31 13:14:15").DiffAbsInYears(carbon.Parse("2021-01-01 13:14:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInYears(carbon.Parse("2021-08-28 13:14:59"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffAbsInYears(carbon.Parse("2018-08-28 13:14:59")))
Output: 0 0 1 1
func (*Carbon) DiffForHumans ¶
DiffForHumans gets the difference in a human-readable format, i18n is supported. 获取对人类友好的可读格式时间差,支持 i18n
Example ¶
defer carbon.CleanTestNow() now := carbon.Parse("2020-08-05 13:14:15") carbon.SetTestNow(now) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffForHumans(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(carbon.Parse("2020-08-03 13:14:15").DiffForHumans()) fmt.Println(carbon.Parse("2020-08-07 13:14:15").DiffForHumans()) fmt.Println(now.Copy().AddYearsNoOverflow(1).DiffForHumans(now)) fmt.Println(now.Copy().SubYearsNoOverflow(1).DiffForHumans(now)) fmt.Println(now.Copy().AddMonthsNoOverflow(1).DiffForHumans(now)) fmt.Println(now.Copy().SubMonthsNoOverflow(1).DiffForHumans(now)) fmt.Println(now.Copy().AddDays(1).DiffForHumans(now)) fmt.Println(now.Copy().SubDays(1).DiffForHumans(now))
Output: just now 2 days ago 2 days from now 1 year after 1 year before 1 month after 1 month before 1 day after 1 day before
func (*Carbon) DiffInDays ¶
DiffInDays gets the difference in days. 相差多少天
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInDays(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInDays(carbon.Parse("2020-08-04 13:14:59"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInDays(carbon.Parse("2020-08-06 13:14:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInDays(carbon.Parse("2020-08-04 13:00:00")))
Output: 0 0 1 -1
func (*Carbon) DiffInDuration ¶
DiffInDuration gets the difference in duration. 相差时长
Example ¶
defer carbon.CleanTestNow() now := carbon.Parse("2020-08-05 13:14:15") carbon.SetTestNow(now) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInDuration(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(now.Copy().AddYearsNoOverflow(1).DiffInDuration(now).String()) fmt.Println(now.Copy().SubYearsNoOverflow(1).DiffInDuration(now).String()) fmt.Println(now.Copy().AddMonthsNoOverflow(1).DiffInDuration(now).String()) fmt.Println(now.Copy().SubMonthsNoOverflow(1).DiffInDuration(now).String()) fmt.Println(now.Copy().AddDays(1).DiffInDuration(now).String()) fmt.Println(now.Copy().SubDays(1).DiffInDuration(now).String())
Output: 0s -8760h0m0s 8784h0m0s -744h0m0s 744h0m0s -24h0m0s 24h0m0s
func (*Carbon) DiffInHours ¶
DiffInHours gets the difference in hours. 相差多少小时
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInHours(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInHours(carbon.Parse("2020-08-05 14:13:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInHours(carbon.Parse("2020-08-05 12:14:00"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInHours(carbon.Parse("2020-08-05 14:14:15")))
Output: 0 0 -1 1
func (*Carbon) DiffInMinutes ¶
DiffInMinutes gets the difference in minutes. 相差多少分钟
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInMinutes(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInMinutes(carbon.Parse("2020-08-05 13:15:10"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInMinutes(carbon.Parse("2020-08-05 13:13:00"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInMinutes(carbon.Parse("2020-08-05 13:15:15")))
Output: 0 0 -1 1
func (*Carbon) DiffInMonths ¶
DiffInMonths gets the difference in months. 相差多少月
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInMonths(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInMonths(carbon.Parse("2020-07-28 13:14:00"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInMonths(carbon.Parse("2020-09-06 13:14:59"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInMonths(carbon.Parse("2018-08-28 13:14:59")))
Output: 0 0 1 -23
func (*Carbon) DiffInSeconds ¶
DiffInSeconds gets the difference in seconds. 相差多少秒
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInSeconds(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInSeconds(carbon.Parse("2020-08-05 13:14:15.999999"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInSeconds(carbon.Parse("2020-08-05 13:14:20"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInSeconds(carbon.Parse("2020-08-05 13:14:10")))
Output: 0 0 5 -5
func (*Carbon) DiffInString ¶
DiffInString gets the difference in string, i18n is supported. 相差字符串,支持 i18n
Example ¶
defer carbon.CleanTestNow() now := carbon.Parse("2020-08-05 13:14:15") carbon.SetTestNow(now) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInString(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(now.Copy().AddYearsNoOverflow(1).DiffInString(now)) fmt.Println(now.Copy().SubYearsNoOverflow(1).DiffInString(now)) fmt.Println(now.Copy().AddMonthsNoOverflow(1).DiffInString(now)) fmt.Println(now.Copy().SubMonthsNoOverflow(1).DiffInString(now)) fmt.Println(now.Copy().AddWeeks(1).DiffInString(now)) fmt.Println(now.Copy().SubWeeks(1).DiffInString(now)) fmt.Println(now.Copy().AddDays(1).DiffInString(now)) fmt.Println(now.Copy().SubDays(1).DiffInString(now)) fmt.Println(now.Copy().AddHours(1).DiffInString(now)) fmt.Println(now.Copy().SubHours(1).DiffInString(now)) fmt.Println(now.Copy().AddMinutes(1).DiffInString(now)) fmt.Println(now.Copy().SubMinutes(1).DiffInString(now)) fmt.Println(now.Copy().AddSeconds(1).DiffInString(now)) fmt.Println(now.Copy().SubSeconds(1).DiffInString(now))
Output: just now -1 year 1 year -1 month 1 month -1 week 1 week -1 day 1 day -1 hour 1 hour -1 minute 1 minute -1 second 1 second
func (*Carbon) DiffInWeeks ¶
DiffInWeeks gets the difference in weeks. 相差多少周
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInWeeks(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInWeeks(carbon.Parse("2020-07-28 13:14:00"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInWeeks(carbon.Parse("2020-08-12 13:14:15")))
Output: 0 -1 1
func (*Carbon) DiffInYears ¶
DiffInYears gets the difference in years. 相差多少年
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInYears(carbon.Parse("2020-08-05 13:14:15"))) fmt.Println(carbon.Parse("2020-12-31 13:14:15").DiffInYears(carbon.Parse("2021-01-01 13:14:15"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInYears(carbon.Parse("2021-08-28 13:14:59"))) fmt.Println(carbon.Parse("2020-08-05 13:14:15").DiffInYears(carbon.Parse("2018-08-28 13:14:59")))
Output: 0 0 1 -1
func (*Carbon) EndOfCentury ¶
EndOfCentury returns a Carbon instance for end of the century. 本世纪结束时间
Example ¶
fmt.Println(carbon.NewCarbon().EndOfCentury().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").EndOfCentury().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").EndOfCentury().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").EndOfCentury().ToString())
Output: 0099-12-31 23:59:59.999999999 +0000 UTC 2099-12-31 23:59:59.999999999 +0000 UTC 2099-12-31 23:59:59.999999999 +0000 UTC 2099-12-31 23:59:59.999999999 +0000 UTC
func (*Carbon) EndOfDay ¶
EndOfDay returns a Carbon instance for end of the day. 本日结束时间
Example ¶
fmt.Println(carbon.NewCarbon().EndOfDay().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").EndOfDay().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").EndOfDay().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").EndOfDay().ToString())
Output: 0001-01-01 23:59:59.999999999 +0000 UTC 2020-01-01 23:59:59.999999999 +0000 UTC 2020-08-15 23:59:59.999999999 +0000 UTC 2020-12-31 23:59:59.999999999 +0000 UTC
func (*Carbon) EndOfDecade ¶
EndOfDecade returns a Carbon instance for end of the decade. 本年代结束时间
Example ¶
fmt.Println(carbon.NewCarbon().EndOfDecade().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").EndOfDecade().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").EndOfDecade().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").EndOfDecade().ToString())
Output: 0009-12-31 23:59:59.999999999 +0000 UTC 2029-12-31 23:59:59.999999999 +0000 UTC 2029-12-31 23:59:59.999999999 +0000 UTC 2029-12-31 23:59:59.999999999 +0000 UTC
func (*Carbon) EndOfHour ¶
EndOfHour returns a Carbon instance for end of the hour. 小时结束时间
Example ¶
fmt.Println(carbon.NewCarbon().EndOfHour().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").EndOfHour().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").EndOfHour().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").EndOfHour().ToString())
Output: 0001-01-01 00:59:59.999999999 +0000 UTC 2020-01-01 00:59:59.999999999 +0000 UTC 2020-08-15 12:59:59.999999999 +0000 UTC 2020-12-31 23:59:59.999999999 +0000 UTC
func (*Carbon) EndOfMinute ¶
EndOfMinute returns a Carbon instance for end of the minute. 分钟结束时间
Example ¶
fmt.Println(carbon.NewCarbon().EndOfMinute().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").EndOfMinute().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").EndOfMinute().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").EndOfMinute().ToString())
Output: 0001-01-01 00:00:59.999999999 +0000 UTC 2020-01-01 00:00:59.999999999 +0000 UTC 2020-08-15 12:30:59.999999999 +0000 UTC 2020-12-31 23:59:59.999999999 +0000 UTC
func (*Carbon) EndOfMonth ¶
EndOfMonth returns a Carbon instance for end of the month. 本月结束时间
Example ¶
fmt.Println(carbon.NewCarbon().EndOfMonth().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").EndOfMonth().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").EndOfMonth().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").EndOfMonth().ToString())
Output: 0001-01-31 23:59:59.999999999 +0000 UTC 2020-01-31 23:59:59.999999999 +0000 UTC 2020-08-31 23:59:59.999999999 +0000 UTC 2020-12-31 23:59:59.999999999 +0000 UTC
func (*Carbon) EndOfQuarter ¶
EndOfQuarter returns a Carbon instance for end of the quarter. 本季度结束时间
Example ¶
fmt.Println(carbon.NewCarbon().EndOfQuarter().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").EndOfQuarter().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").EndOfQuarter().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").EndOfQuarter().ToString())
Output: 0001-03-31 23:59:59.999999999 +0000 UTC 2020-03-31 23:59:59.999999999 +0000 UTC 2020-09-30 23:59:59.999999999 +0000 UTC 2020-12-31 23:59:59.999999999 +0000 UTC
func (*Carbon) EndOfSeason ¶
EndOfSeason returns a Carbon instance for end of the season. 本季节结束时间
Example ¶
fmt.Println(carbon.Parse("2020-01-15").EndOfSeason().ToString()) fmt.Println(carbon.Parse("2020-02-15").EndOfSeason().ToString()) fmt.Println(carbon.Parse("2020-03-15").EndOfSeason().ToString()) fmt.Println(carbon.Parse("2020-04-15").EndOfSeason().ToString()) fmt.Println(carbon.Parse("2020-05-15").EndOfSeason().ToString()) fmt.Println(carbon.Parse("2020-06-15").EndOfSeason().ToString()) fmt.Println(carbon.Parse("2020-07-15").EndOfSeason().ToString()) fmt.Println(carbon.Parse("2020-08-15").EndOfSeason().ToString()) fmt.Println(carbon.Parse("2020-09-15").EndOfSeason().ToString()) fmt.Println(carbon.Parse("2020-10-15").EndOfSeason().ToString()) fmt.Println(carbon.Parse("2020-11-15").EndOfSeason().ToString()) fmt.Println(carbon.Parse("2020-12-15").EndOfSeason().ToString())
Output: 2020-02-29 23:59:59.999999999 +0000 UTC 2020-02-29 23:59:59.999999999 +0000 UTC 2020-05-31 23:59:59.999999999 +0000 UTC 2020-05-31 23:59:59.999999999 +0000 UTC 2020-05-31 23:59:59.999999999 +0000 UTC 2020-08-31 23:59:59.999999999 +0000 UTC 2020-08-31 23:59:59.999999999 +0000 UTC 2020-08-31 23:59:59.999999999 +0000 UTC 2020-11-30 23:59:59.999999999 +0000 UTC 2020-11-30 23:59:59.999999999 +0000 UTC 2020-11-30 23:59:59.999999999 +0000 UTC 2021-02-28 23:59:59.999999999 +0000 UTC
func (*Carbon) EndOfSecond ¶
EndOfSecond returns a Carbon instance for end of the second. 秒结束时间
Example ¶
fmt.Println(carbon.NewCarbon().EndOfSecond().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").EndOfSecond().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").EndOfSecond().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").EndOfSecond().ToString())
Output: 0001-01-01 00:00:00.999999999 +0000 UTC 2020-01-01 00:00:00.999999999 +0000 UTC 2020-08-15 12:30:30.999999999 +0000 UTC 2020-12-31 23:59:59.999999999 +0000 UTC
func (*Carbon) EndOfWeek ¶
EndOfWeek returns a Carbon instance for end of the week. 本周结束时间
Example ¶
fmt.Println(carbon.NewCarbon().EndOfWeek().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").EndOfWeek().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").EndOfWeek().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").EndOfWeek().ToString())
Output: 0001-01-07 23:59:59.999999999 +0000 UTC 2020-01-05 23:59:59.999999999 +0000 UTC 2020-08-16 23:59:59.999999999 +0000 UTC 2021-01-03 23:59:59.999999999 +0000 UTC
func (*Carbon) EndOfYear ¶
EndOfYear returns a Carbon instance for end of the year. 本年结束时间
Example ¶
fmt.Println(carbon.NewCarbon().EndOfYear().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").EndOfYear().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").EndOfYear().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").EndOfYear().ToString())
Output: 0001-12-31 23:59:59.999999999 +0000 UTC 2020-12-31 23:59:59.999999999 +0000 UTC 2020-12-31 23:59:59.999999999 +0000 UTC 2020-12-31 23:59:59.999999999 +0000 UTC
func (*Carbon) Eq ¶
Eq reports whether equal. 是否等于
Example ¶
fmt.Println(carbon.Parse("2020-08-05 22:00:00").Eq(carbon.Parse("2020-08-05 21:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").Eq(carbon.Parse("2020-08-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").Eq(carbon.Parse("2020-08-05 23:00:00")))
Output: false true false
func (*Carbon) Farthest ¶
Farthest returns the farthest Carbon instance from the given Carbon instance. 返回离给定 carbon 实例最远的 Carbon 实例
Example ¶
fmt.Println(carbon.Parse("2020-08-05").Farthest(carbon.Parse("2020-08-06"), carbon.Parse("2021-08-05")).ToString())
Output: 2021-08-05 00:00:00 +0000 UTC
func (*Carbon) Format ¶
Format outputs a string by format. 输出指定格式模板的时间字符串
Example ¶
fmt.Printf("Y-m-d H:i:s format: %s\n", carbon.Parse("2020-08-05 13:14:15").Format(carbon.DateTimeFormat)) fmt.Printf("Y-m-d format: %s\n", carbon.Parse("2020-08-05T13:14:15.999999999+00:00").Format(carbon.DateFormat)) fmt.Printf("Y-m-d H:i:s with PRC timezone format: %s\n", carbon.Parse("2020-08-05", carbon.PRC).Format(carbon.DateTimeFormat, carbon.PRC)) fmt.Printf("Y年m月d日 format: %s\n", carbon.Parse("2020-08-05 13:14:15").Format("Y年m月d日")) fmt.Printf("D format: %s\n", carbon.Parse("2020-08-05 01:14:15").Format("D")) fmt.Printf("l format: %s\n", carbon.Parse("2020-08-05 01:14:15").Format("l")) fmt.Printf("F format: %s\n", carbon.Parse("2020-08-05 01:14:15").Format("F")) fmt.Printf("M format: %s\n", carbon.Parse("2020-08-05 01:14:15").Format("M")) fmt.Printf("j format: %s\n", carbon.Parse("2020-08-05 01:14:15").Format("j")) fmt.Printf("W format: %s\n", carbon.Parse("2020-08-05 01:14:15").Format("W")) fmt.Printf("F format: %s\n", carbon.Parse("2020-08-05 01:14:15").Format("F")) fmt.Printf("N format: %s\n", carbon.Parse("2020-08-05 01:14:15").Format("N")) fmt.Printf("L format: %s\n", carbon.Parse("2020-08-05 01:14:15").Format("L")) fmt.Printf("L format: %s\n", carbon.Parse("2021-08-05 13:14:15").Format("L")) fmt.Printf("G format: %s\n", carbon.Parse("2020-08-05 13:14:15").Format("G")) fmt.Printf("S format: %s\n", carbon.Parse("2020-08-05 13:14:15").Format("S")) fmt.Printf("U format: %s\n", carbon.Parse("2020-08-05 13:14:15").Format("U")) fmt.Printf("V format: %s\n", carbon.Parse("2020-08-05 13:14:15").Format("V")) fmt.Printf("X format: %s\n", carbon.Parse("2020-08-05 13:14:15").Format("X")) fmt.Printf("u format: %s\n", carbon.Parse("2020-08-05 13:14:15.999999999").Format("u")) fmt.Printf("v format: %s\n", carbon.Parse("2020-08-05 13:14:15.999999999").Format("v")) fmt.Printf("x format: %s\n", carbon.Parse("2020-08-05 13:14:15.999999999").Format("x")) fmt.Printf("w format: %s\n", carbon.Parse("2020-08-05 13:14:15.999999999").Format("w")) fmt.Printf("t format: %s\n", carbon.Parse("2020-08-05 13:14:15.999999999").Format("t")) fmt.Printf("z format: %s\n", carbon.Parse("2020-08-05 13:14:15.999999999", carbon.PRC).Format("z")) fmt.Printf("o format: %s\n", carbon.Parse("2020-08-05 13:14:15.999999999", carbon.PRC).Format("o")) fmt.Printf("q format: %s\n", carbon.Parse("2020-08-05 13:14:15.999999999").Format("q")) fmt.Printf("c format: %s\n", carbon.Parse("2020-08-05 13:14:15.999999999").Format("c")) fmt.Printf("R format: %s\n", carbon.Parse("2020-08-05 13:14:15.999999999", carbon.UTC).Format("R")) fmt.Printf("R format: %s\n", carbon.Parse("2020-08-05 13:14:15.999999999", carbon.PRC).Format("R")) fmt.Printf("Q format: %s\n", carbon.Parse("2020-08-05 13:14:15.999999999", carbon.UTC).Format("Q")) fmt.Printf("Q format: %s\n", carbon.Parse("2020-08-05 13:14:15.999999999", carbon.PRC).Format("Q")) fmt.Printf("Z format: %s\n", carbon.Parse("2020-08-05 13:14:15.999999999", carbon.PRC).Format("Z")) fmt.Printf("jK format: %s\n", carbon.Parse("2020-08-05 13:14:15").Format("jK")) fmt.Printf("jK format: %s\n", carbon.Parse("2020-08-22 13:14:15").Format("jK")) fmt.Printf("jK format: %s\n", carbon.Parse("2020-08-23 13:14:15").Format("jK")) fmt.Printf("jK format: %s\n", carbon.Parse("2020-08-31 13:14:15").Format("jK")) fmt.Printf("timestamp format: %s\n", carbon.Parse("2020-08-05T13:14:15.999999999+00:00").Format(carbon.TimestampFormat)) fmt.Printf("TimestampMilli format: %s\n", carbon.Parse("2020-08-05T13:14:15.999999999+00:00").Format(carbon.TimestampMilliFormat)) fmt.Printf("timestampMicro format: %s\n", carbon.Parse("2020-08-05T13:14:15.999999999+00:00").Format(carbon.TimestampMicroFormat)) fmt.Printf("timestampNano format: %s\n", carbon.Parse("2020-08-05T13:14:15.999999999+00:00").Format(carbon.TimestampNanoFormat)) fmt.Printf("I\\t \\i\\s Y-m-d H:i:s format: %s\n", carbon.Parse("2020-08-31 13:14:15").Format("I\\t \\i\\s Y-m-d H:i:s")) fmt.Printf("上次打卡时间:Y-m-d H:i:s,请每日按时打卡 format: %s\n", carbon.Parse("2020-08-31 13:14:15").Format("上次打卡时间:Y-m-d H:i:s,请每日按时打卡"))
Output: Y-m-d H:i:s format: 2020-08-05 13:14:15 Y-m-d format: 2020-08-05 Y-m-d H:i:s with PRC timezone format: 2020-08-05 00:00:00 Y年m月d日 format: 2020年08月05日 D format: Wed l format: Wednesday F format: August M format: Aug j format: 5 W format: 32 F format: August N format: 03 L format: 1 L format: 0 G format: 13 S format: 1596633255 U format: 1596633255000 V format: 1596633255000000 X format: 1596633255000000000 u format: 999 v format: 999999 x format: 999999999 w format: 2 t format: 31 z format: PRC o format: 28800 q format: 3 c format: 21 R format: Z R format: +08:00 Q format: Z Q format: +0800 Z format: CST jK format: 5th jK format: 22nd jK format: 23rd jK format: 31st timestamp format: 1596633255 TimestampMilli format: 1596633255999 timestampMicro format: 1596633255999999 timestampNano format: 1596633255999999999 I\t \i\s Y-m-d H:i:s format: It is 2020-08-31 13:14:15 上次打卡时间:Y-m-d H:i:s,请每日按时打卡 format: 上次打卡时间:2020-08-31 13:14:15,请每日按时打卡
func (*Carbon) GoString ¶
GoString implements fmt.GoStringer and formats c to be printed in Go source code. 实现 fmt.GoStringer 接口,并格式化 c 以在 Go 源代码中打印
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").GoString()) fmt.Println(carbon.Parse("2020-08-05 13:14:15", carbon.PRC).GoString())
Output: time.Date(2020, time.August, 5, 13, 14, 15, 0, time.UTC) time.Date(2020, time.August, 5, 13, 14, 15, 0, time.Location("PRC"))
func (*Carbon) Gt ¶
Gt reports whether greater than. 是否大于
Example ¶
fmt.Println(carbon.Parse("2020-08-05 22:00:00").Gt(carbon.Parse("2020-08-05 21:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").Gt(carbon.Parse("2020-08-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").Gt(carbon.Parse("2020-08-05 23:00:00")))
Output: true false false
func (*Carbon) Gte ¶
Gte reports whether greater than or equal. 是否大于等于
Example ¶
fmt.Println(carbon.Parse("2020-08-05 22:00:00").Gte(carbon.Parse("2020-08-05 21:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").Gte(carbon.Parse("2020-08-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").Gte(carbon.Parse("2020-08-05 23:00:00")))
Output: true true false
func (*Carbon) HasError ¶ added in v2.6.0
HasError reports whether it has error. 是否有错误
Example ¶
fmt.Println(carbon.NewCarbon().HasError()) fmt.Println(carbon.Parse("").HasError()) fmt.Println(carbon.Now().HasError()) fmt.Println(carbon.Parse("xxx").HasError())
Output: false false false true
func (*Carbon) Hour ¶
Hour gets current hour like 13. 获取当前小时
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15.999999999").Hour())
Output: 13
func (*Carbon) IsAM ¶
IsAM reports whether is before noon. 是否是上午
Example ¶
fmt.Println(carbon.Parse("2020-08-08 00:00:00").IsAM()) fmt.Println(carbon.Parse("2020-08-08 12:00:00").IsAM()) fmt.Println(carbon.Parse("2020-08-08 23:59:59").IsAM())
Output: true false false
func (*Carbon) IsApril ¶
IsApril reports whether is April. 是否是四月
Example ¶
fmt.Println(carbon.Parse("2020-04-01").IsApril()) fmt.Println(carbon.Parse("2020-05-01").IsApril())
Output: true false
func (*Carbon) IsAquarius ¶
IsAquarius reports whether is Aquarius. 是否是水瓶座
Example ¶
fmt.Println(carbon.Parse("2020-01-20").IsAquarius()) fmt.Println(carbon.Parse("2020-08-05").IsAquarius())
Output: true false
func (*Carbon) IsAries ¶
IsAries reports whether is Aries. 是否是白羊座
Example ¶
fmt.Println(carbon.Parse("2020-04-20").IsTaurus()) fmt.Println(carbon.Parse("2020-08-05").IsTaurus())
Output: true false
func (*Carbon) IsAugust ¶
IsAugust reports whether is August. 是否是八月
Example ¶
fmt.Println(carbon.Parse("2020-08-01").IsAugust()) fmt.Println(carbon.Parse("2020-09-01").IsAugust())
Output: true false
func (*Carbon) IsAutumn ¶
IsAutumn reports whether is autumn. 是否是秋季
Example ¶
fmt.Println(carbon.Parse("2020-01-01").IsAutumn()) fmt.Println(carbon.Parse("2020-09-01").IsAutumn())
Output: false true
func (*Carbon) IsCancer ¶
IsCancer reports whether is Cancer. 是否是巨蟹座
Example ¶
fmt.Println(carbon.Parse("2020-06-22").IsCancer()) fmt.Println(carbon.Parse("2020-08-05").IsCancer())
Output: true false
func (*Carbon) IsCapricorn ¶
IsCapricorn reports whether is Capricorn. 是否是摩羯座
Example ¶
fmt.Println(carbon.Parse("2020-12-22").IsCapricorn()) fmt.Println(carbon.Parse("2020-08-05").IsCapricorn())
Output: true false
func (*Carbon) IsDST ¶
IsDST reports whether is a daylight saving time. 是否是夏令时
Example ¶
tzWithDST, tzWithoutDST := "Australia/Sydney", "Australia/Brisbane" fmt.Println(carbon.Parse("2009-01-01", tzWithDST).IsDST()) fmt.Println(carbon.Parse("2009-01-01", tzWithoutDST).IsDST())
Output: true false
func (*Carbon) IsDecember ¶
IsDecember reports whether is December. 是否是十二月
Example ¶
fmt.Println(carbon.Parse("2020-12-01").IsDecember()) fmt.Println(carbon.Parse("2020-01-01").IsDecember())
Output: true false
func (*Carbon) IsEpoch ¶ added in v2.6.3
IsEpoch reports whether is a unix epoch time(1970-01-01 00:00:00 +0000 UTC). 是否是 UNIX 纪元时间(1970-01-01 00:00:00 +0000 UTC)
Example ¶
fmt.Println(carbon.CreateFromDateTimeNano(1970, 1, 1, 0, 0, 0, 0, carbon.UTC).IsEpoch()) fmt.Println(carbon.CreateFromTimestamp(0).IsEpoch()) fmt.Println(carbon.NewCarbon().IsEpoch()) fmt.Println(carbon.Parse("").IsEpoch()) fmt.Println(carbon.Parse("xxx").IsEpoch()) fmt.Println(carbon.Now().IsEpoch())
Output: true true false false false false
func (*Carbon) IsFebruary ¶
IsFebruary reports whether is February. 是否是二月
Example ¶
fmt.Println(carbon.Parse("2020-02-01").IsFebruary()) fmt.Println(carbon.Parse("2020-03-01").IsFebruary())
Output: true false
func (*Carbon) IsFriday ¶
IsFriday reports whether is Friday. 是否是周五
Example ¶
fmt.Println(carbon.Parse("2025-03-07").IsFriday()) fmt.Println(carbon.Parse("2025-03-08").IsFriday())
Output: true false
func (*Carbon) IsFuture ¶
IsFuture reports whether is future time. 是否是未来时间
Example ¶
fmt.Println(carbon.Yesterday().IsFuture()) fmt.Println(carbon.Now().IsFuture()) fmt.Println(carbon.Tomorrow().IsFuture()) fmt.Println(carbon.Parse("2025-03-01").IsFuture())
Output: false false true false
func (*Carbon) IsGemini ¶
IsGemini reports whether is Gemini. 是否是双子座
Example ¶
fmt.Println(carbon.Parse("2020-06-21").IsGemini()) fmt.Println(carbon.Parse("2020-08-05").IsGemini())
Output: true false
func (*Carbon) IsInvalid ¶
IsInvalid reports whether is an invalid time. 是否是无效时间
Example ¶
fmt.Println(carbon.NewCarbon().IsInvalid()) fmt.Println(carbon.Parse("").IsInvalid()) fmt.Println(carbon.Parse("xxx").IsInvalid()) fmt.Println(carbon.Now().IsInvalid())
Output: false true true false
func (*Carbon) IsJanuary ¶
IsJanuary reports whether is January. 是否是一月
Example ¶
fmt.Println(carbon.Parse("2020-01-01").IsJanuary()) fmt.Println(carbon.Parse("2020-02-01").IsJanuary())
Output: true false
func (*Carbon) IsJuly ¶
IsJuly reports whether is July. 是否是七月
Example ¶
fmt.Println(carbon.Parse("2020-07-01").IsJuly()) fmt.Println(carbon.Parse("2020-08-01").IsJuly())
Output: true false
func (*Carbon) IsJune ¶
IsJune reports whether is June. 是否是六月
Example ¶
fmt.Println(carbon.Parse("2020-06-01").IsJune()) fmt.Println(carbon.Parse("2020-07-01").IsJune())
Output: true false
func (*Carbon) IsLeapYear ¶
IsLeapYear reports whether is a leap year. 是否是闰年
Example ¶
fmt.Println(carbon.Parse("2015-01-01").IsLeapYear()) fmt.Println(carbon.Parse("2016-01-01").IsLeapYear())
Output: false true
func (*Carbon) IsLeo ¶
IsLeo reports whether is Leo. 是否是狮子座
Example ¶
fmt.Println(carbon.Parse("2020-07-23").IsLeo()) fmt.Println(carbon.Parse("2020-09-01").IsLeo())
Output: true false
func (*Carbon) IsLibra ¶
IsLibra reports whether is Libra. 是否是天秤座
Example ¶
fmt.Println(carbon.Parse("2020-09-23").IsLibra()) fmt.Println(carbon.Parse("2020-08-05").IsLibra())
Output: true false
func (*Carbon) IsLongYear ¶
IsLongYear reports whether is a long year, see https://en.wikipedia.org/wiki/ISO_8601#Week_dates. 是否是长年
Example ¶
fmt.Println(carbon.Parse("2015-01-01").IsLongYear()) fmt.Println(carbon.Parse("2016-01-01").IsLongYear())
Output: true false
func (*Carbon) IsMarch ¶
IsMarch reports whether is March. 是否是三月
Example ¶
fmt.Println(carbon.Parse("2020-03-01").IsMarch()) fmt.Println(carbon.Parse("2020-04-01").IsMarch())
Output: true false
func (*Carbon) IsMay ¶
IsMay reports whether is May. 是否是五月
Example ¶
fmt.Println(carbon.Parse("2020-05-01").IsMay()) fmt.Println(carbon.Parse("2020-06-01").IsMay())
Output: true false
func (*Carbon) IsMonday ¶
IsMonday reports whether is Monday. 是否是周一
Example ¶
fmt.Println(carbon.Parse("2025-03-03").IsMonday()) fmt.Println(carbon.Parse("2025-03-04").IsMonday())
Output: true false
func (*Carbon) IsNil ¶ added in v2.6.0
IsNil reports whether is a nil time. 是否是空时间
Example ¶
fmt.Println(carbon.NewCarbon().IsNil()) fmt.Println(carbon.Parse("xxx").IsNil()) fmt.Println(carbon.Now().IsNil()) fmt.Println(carbon.Parse("").IsNil())
Output: false false false true
func (*Carbon) IsNovember ¶
IsNovember reports whether is November. 是否是十一月
Example ¶
fmt.Println(carbon.Parse("2020-11-01").IsNovember()) fmt.Println(carbon.Parse("2020-12-01").IsNovember())
Output: true false
func (*Carbon) IsNow ¶
IsNow reports whether is now time. 是否是当前时间
Example ¶
fmt.Println(carbon.Yesterday().IsNow()) fmt.Println(carbon.Now().IsNow()) fmt.Println(carbon.Tomorrow().IsNow()) fmt.Println(carbon.Parse("2025-03-01").IsNow())
Output: false true false false
func (*Carbon) IsOctober ¶
IsOctober reports whether is October. 是否是十月
Example ¶
fmt.Println(carbon.Parse("2020-10-01").IsOctober()) fmt.Println(carbon.Parse("2020-11-01").IsOctober())
Output: true false
func (*Carbon) IsPM ¶
IsPM reports whether is after noon. 是否是下午
Example ¶
fmt.Println(carbon.Parse("2020-08-08 00:00:00").IsPM()) fmt.Println(carbon.Parse("2020-08-08 12:00:00").IsPM()) fmt.Println(carbon.Parse("2020-08-08 23:59:59").IsPM())
Output: false true true
func (*Carbon) IsPast ¶
IsPast reports whether is past time. 是否是过去时间
Example ¶
fmt.Println(carbon.Yesterday().IsPast()) fmt.Println(carbon.Now().IsPast()) fmt.Println(carbon.Tomorrow().IsPast()) fmt.Println(carbon.Parse("2025-03-01").IsPast())
Output: true false false true
func (*Carbon) IsPisces ¶
IsPisces reports whether is Pisces. 是否是双鱼座
Example ¶
fmt.Println(carbon.Parse("2020-02-19").IsPisces()) fmt.Println(carbon.Parse("2020-08-05").IsPisces())
Output: true false
func (*Carbon) IsSagittarius ¶
IsSagittarius reports whether is Sagittarius. 是否是射手座
Example ¶
fmt.Println(carbon.Parse("2020-11-23").IsSagittarius()) fmt.Println(carbon.Parse("2020-08-05").IsSagittarius())
Output: true false
func (*Carbon) IsSameCentury ¶
IsSameCentury reports whether is same century. 是否是同一世纪
Example ¶
fmt.Println(carbon.Parse("2020-08-05").IsSameCentury(carbon.Parse("2010-01-01"))) fmt.Println(carbon.Parse("2020-08-05").IsSameCentury(carbon.Parse("2030-12-31"))) fmt.Println(carbon.Parse("2020-08-05").IsSameCentury(carbon.Parse("2100-08-05")))
Output: true true false
func (*Carbon) IsSameDay ¶
IsSameDay reports whether is same day. 是否是同一天
Example ¶
fmt.Println(carbon.Parse("2020-08-05 00:00:00").IsSameDay(carbon.Parse("2020-08-05 23:59:59"))) fmt.Println(carbon.Parse("2020-08-05 00:00:00").IsSameDay(carbon.Parse("2021-08-05 00:00:00"))) fmt.Println(carbon.Parse("2020-08-05 00:00:00").IsSameDay(carbon.Parse("2020-09-05 00:00:00")))
Output: true false false
func (*Carbon) IsSameDecade ¶
IsSameDecade reports whether is same decade. 是否是同一年代
Example ¶
fmt.Println(carbon.Parse("2020-08-05").IsSameDecade(carbon.Parse("2020-01-01"))) fmt.Println(carbon.Parse("2020-08-05").IsSameDecade(carbon.Parse("2020-12-31"))) fmt.Println(carbon.Parse("2020-08-05").IsSameDecade(carbon.Parse("2010-08-05")))
Output: true true false
func (*Carbon) IsSameHour ¶
IsSameHour reports whether is same hour. 是否是同一小时
Example ¶
fmt.Println(carbon.Parse("2020-08-05 22:00:00").IsSameHour(carbon.Parse("2020-08-05 22:59:59"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").IsSameHour(carbon.Parse("2021-08-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").IsSameHour(carbon.Parse("2020-09-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").IsSameHour(carbon.Parse("2020-08-06 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").IsSameHour(carbon.Parse("2020-08-05 23:00:00")))
Output: true false false false false
func (*Carbon) IsSameMinute ¶
IsSameMinute reports whether is same minute. 是否是同一分钟
Example ¶
fmt.Println(carbon.Parse("2020-08-05 22:00:00").IsSameMinute(carbon.Parse("2020-08-05 22:00:59"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").IsSameMinute(carbon.Parse("2021-08-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").IsSameMinute(carbon.Parse("2020-08-06 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").IsSameMinute(carbon.Parse("2020-08-05 23:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").IsSameMinute(carbon.Parse("2020-08-05 22:01:00")))
Output: true false false false false
func (*Carbon) IsSameMonth ¶
IsSameMonth reports whether is same month. 是否是同一月
Example ¶
fmt.Println(carbon.Parse("2020-08-05").IsSameMonth(carbon.Parse("2020-08-01"))) fmt.Println(carbon.Parse("2020-08-05").IsSameMonth(carbon.Parse("2010-08-05"))) fmt.Println(carbon.Parse("2020-08-05").IsSameMonth(carbon.Parse("2020-09-05")))
Output: true false false
func (*Carbon) IsSameQuarter ¶
IsSameQuarter reports whether is same quarter. 是否是同一季节
Example ¶
fmt.Println(carbon.Parse("2020-08-05").IsSameQuarter(carbon.Parse("2020-08-06"))) fmt.Println(carbon.Parse("2020-08-05").IsSameQuarter(carbon.Parse("2010-08-05"))) fmt.Println(carbon.Parse("2020-08-05").IsSameQuarter(carbon.Parse("2010-01-05")))
Output: true false false
func (*Carbon) IsSameSecond ¶
IsSameSecond reports whether is same second. 是否是同一秒
Example ¶
fmt.Println(carbon.Parse("2020-08-05 22:00:00").IsSameSecond(carbon.Parse("2020-08-05 22:00:00.999999"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").IsSameSecond(carbon.Parse("2021-08-05 22:00:00")))
Output: true false
func (*Carbon) IsSameYear ¶
IsSameYear reports whether is same year. 是否是同一年
Example ¶
fmt.Println(carbon.Parse("2020-08-05").IsSameYear(carbon.Parse("2010-08-05"))) fmt.Println(carbon.Parse("2020-08-05").IsSameYear(carbon.Parse("2020-01-01"))) fmt.Println(carbon.Parse("2020-08-05").IsSameYear(carbon.Parse("2020-12-31")))
Output: false true true
func (*Carbon) IsSaturday ¶
IsSaturday reports whether is Saturday. 是否是周六
Example ¶
fmt.Println(carbon.Parse("2025-03-08").IsSaturday()) fmt.Println(carbon.Parse("2025-03-09").IsSaturday())
Output: true false
func (*Carbon) IsScorpio ¶
IsScorpio reports whether is Scorpio. 是否是天蝎座
Example ¶
fmt.Println(carbon.Parse("2020-10-24").IsScorpio()) fmt.Println(carbon.Parse("2020-08-05").IsScorpio())
Output: true false
func (*Carbon) IsSeptember ¶
IsSeptember reports whether is September. 是否是九月
Example ¶
fmt.Println(carbon.Parse("2020-09-01").IsSeptember()) fmt.Println(carbon.Parse("2020-10-01").IsSeptember())
Output: true false
func (*Carbon) IsSpring ¶
IsSpring reports whether is spring. 是否是春季
Example ¶
fmt.Println(carbon.Parse("2020-01-01").IsSpring()) fmt.Println(carbon.Parse("2020-03-01").IsSpring())
Output: false true
func (*Carbon) IsSummer ¶
IsSummer reports whether is summer. 是否是夏季
Example ¶
fmt.Println(carbon.Parse("2020-01-01").IsSummer()) fmt.Println(carbon.Parse("2020-06-01").IsSummer())
Output: false true
func (*Carbon) IsSunday ¶
IsSunday reports whether is Sunday. 是否是周日
Example ¶
fmt.Println(carbon.Parse("2025-03-09").IsSunday()) fmt.Println(carbon.Parse("2025-03-10").IsSunday())
Output: true false
func (*Carbon) IsThursday ¶
IsThursday reports whether is Thursday. 是否是周四
Example ¶
fmt.Println(carbon.Parse("2025-03-06").IsThursday()) fmt.Println(carbon.Parse("2025-03-07").IsThursday())
Output: true false
func (*Carbon) IsToday ¶
IsToday reports whether is today. 是否是今天
Example ¶
fmt.Println(carbon.Yesterday().IsToday()) fmt.Println(carbon.Now().IsToday()) fmt.Println(carbon.Tomorrow().IsToday()) fmt.Println(carbon.Parse("2025-03-01").IsToday())
Output: false true false false
func (*Carbon) IsTomorrow ¶
IsTomorrow reports whether is tomorrow. 是否是明天
Example ¶
fmt.Println(carbon.Yesterday().IsTomorrow()) fmt.Println(carbon.Now().IsTomorrow()) fmt.Println(carbon.Tomorrow().IsTomorrow()) fmt.Println(carbon.Parse("2025-03-01").IsTomorrow())
Output: false false true false
func (*Carbon) IsTuesday ¶
IsTuesday reports whether is Tuesday. 是否是周二
Example ¶
fmt.Println(carbon.Parse("2025-03-04").IsTuesday()) fmt.Println(carbon.Parse("2025-03-05").IsTuesday())
Output: true false
func (*Carbon) IsValid ¶
IsValid reports whether is a valid time. 是否是有效时间
Example ¶
fmt.Println(carbon.NewCarbon().IsValid()) fmt.Println(carbon.Now().IsValid()) fmt.Println(carbon.Parse("").IsValid()) fmt.Println(carbon.Parse("xxx").IsValid())
Output: true true false false
func (*Carbon) IsVirgo ¶
IsVirgo reports whether is Virgo. 是否是处女座
Example ¶
fmt.Println(carbon.Parse("2020-08-23").IsVirgo()) fmt.Println(carbon.Parse("2020-08-05").IsVirgo())
Output: true false
func (*Carbon) IsWednesday ¶
IsWednesday reports whether is Wednesday. 是否是周三
Example ¶
fmt.Println(carbon.Parse("2025-03-05").IsWednesday()) fmt.Println(carbon.Parse("2025-03-06").IsWednesday())
Output: true false
func (*Carbon) IsWeekday ¶
IsWeekday reports whether is weekday. 是否是工作日
Example ¶
fmt.Println(carbon.Parse("2025-03-01").IsWeekday()) fmt.Println(carbon.Parse("2025-03-02").IsWeekday()) fmt.Println(carbon.Parse("2025-03-03").IsWeekday())
Output: false false true
func (*Carbon) IsWeekend ¶
IsWeekend reports whether is weekend. 是否是周末
Example ¶
fmt.Println(carbon.Parse("2025-03-01").IsWeekend()) fmt.Println(carbon.Parse("2025-03-02").IsWeekend()) fmt.Println(carbon.Parse("2025-03-03").IsWeekend())
Output: true true false
func (*Carbon) IsWinter ¶
IsWinter reports whether is winter. 是否是冬季
Example ¶
fmt.Println(carbon.Parse("2020-01-01").IsWinter()) fmt.Println(carbon.Parse("2020-05-01").IsWinter())
Output: true false
func (*Carbon) IsYesterday ¶
IsYesterday reports whether is yesterday. 是否是昨天
Example ¶
fmt.Println(carbon.Yesterday().IsYesterday()) fmt.Println(carbon.Now().IsYesterday()) fmt.Println(carbon.Tomorrow().IsYesterday()) fmt.Println(carbon.Parse("2025-03-01").IsYesterday())
Output: true false false false
func (*Carbon) IsZero ¶
IsZero reports whether is a zero time(0001-01-01 00:00:00 +0000 UTC). 是否是零值时间(0001-01-01 00:00:00 +0000 UTC)
Example ¶
fmt.Println(carbon.NewCarbon().IsZero()) fmt.Println(carbon.CreateFromDateTimeNano(0001, 1, 1, 00, 00, 00, 00, carbon.UTC).IsZero()) fmt.Println(carbon.Parse("").IsZero()) fmt.Println(carbon.Parse("xxx").IsZero()) fmt.Println(carbon.Now().IsZero())
Output: true true false false false
func (*Carbon) Julian ¶
Julian converts Carbon instance to Julian instance. 将 Carbon 实例转化为 Julian 实例
Example ¶
fmt.Println("JD(default precision 6):", carbon.Parse("2024-01-23 13:14:15").Julian().JD()) fmt.Println("MJD(default precision 6):", carbon.Parse("2024-01-23 13:14:15").Julian().MJD()) fmt.Println("JD(specify precision 4):", carbon.Parse("2024-01-23 13:14:15").Julian().JD(4)) fmt.Println("MJD(specify precision 4):", carbon.Parse("2024-01-23 13:14:15").Julian().MJD(4))
Output: JD(default precision 6): 2.460333051563e+06 MJD(default precision 6): 60332.551563 JD(specify precision 4): 2.4603330516e+06 MJD(specify precision 4): 60332.5516
func (*Carbon) Layout ¶
Layout outputs a string by layout. 输出指定布局模板的时间字符串
Example ¶
c := carbon.Parse("2020-08-05T13:14:15.999999999+00:00") fmt.Printf("date layout: %s\n", c.Layout(carbon.DateLayout)) fmt.Printf("time layout: %s\n", c.Layout(carbon.TimeLayout)) fmt.Printf("datetime layout: %s\n", c.Layout(carbon.DateTimeLayout)) fmt.Printf("timestamp layout: %s\n", c.Layout(carbon.TimestampLayout)) fmt.Printf("TimestampMilli layout: %s\n", c.Layout(carbon.TimestampMilliLayout)) fmt.Printf("timestampMicro layout: %s\n", c.Layout(carbon.TimestampMicroLayout)) fmt.Printf("timestampNano layout: %s\n", c.Layout(carbon.TimestampNanoLayout))
Output: date layout: 2020-08-05 time layout: 13:14:15 datetime layout: 2020-08-05 13:14:15 timestamp layout: 1596633255 TimestampMilli layout: 1596633255999 timestampMicro layout: 1596633255999999 timestampNano layout: 1596633255999999999
func (*Carbon) Locale ¶
Locale gets locale name like "zh-CN". 获取语言区域
Example ¶
fmt.Println(carbon.Now().SetLocale("en").Locale()) fmt.Println(carbon.Now().SetLocale("zh-CN").Locale())
Output: en zh-CN
func (*Carbon) Lt ¶
Lt reports whether less than. 是否小于
Example ¶
fmt.Println(carbon.Parse("2020-08-05 22:00:00").Lt(carbon.Parse("2020-08-05 21:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").Lt(carbon.Parse("2020-08-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").Lt(carbon.Parse("2020-08-05 23:00:00")))
Output: false false true
func (*Carbon) Lte ¶
Lte reports whether less than or equal. 是否小于等于
Example ¶
fmt.Println(carbon.Parse("2020-08-05 22:00:00").Lte(carbon.Parse("2020-08-05 21:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").Lte(carbon.Parse("2020-08-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").Lte(carbon.Parse("2020-08-05 23:00:00")))
Output: false true true
func (*Carbon) Lunar ¶
Lunar converts Carbon instance to Lunar instance. 将 Carbon 实例转化为 Lunar 实例
Example ¶
fmt.Println(carbon.Parse("2023-03-02", carbon.PRC).Lunar().String()) fmt.Println(carbon.Parse("2023-04-01", carbon.PRC).Lunar().String())
Output: 2023-02-11 2023-02-11
func (*Carbon) Microsecond ¶
Microsecond gets current microsecond like 999999. 获取当前微秒数
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15.999999999").Microsecond())
Output: 999999
func (*Carbon) Millisecond ¶
Millisecond gets current millisecond like 999. 获取当前毫秒数
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15.999999999").Millisecond())
Output: 999
func (*Carbon) Minute ¶
Minute gets current minute like 14. 获取当前分钟数
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15.999999999").Minute())
Output: 14
func (*Carbon) Month ¶
Month gets current month like 8. 获取当前月
Example ¶
fmt.Println(carbon.Parse("2020-01-05").Month()) fmt.Println(carbon.Parse("2020-04-05").Month()) fmt.Println(carbon.Parse("2020-08-05").Month()) fmt.Println(carbon.Parse("2020-11-05").Month())
Output: 1 4 8 11
func (*Carbon) MonthOfYear ¶
MonthOfYear gets month of year like 12. 获取本年的第几月
Example ¶
fmt.Println(carbon.Parse("2020-01-05").MonthOfYear()) fmt.Println(carbon.Parse("2020-02-05").MonthOfYear()) fmt.Println(carbon.Parse("2020-03-05").MonthOfYear()) fmt.Println(carbon.Parse("2020-04-05").MonthOfYear())
Output: 1 2 3 4
func (*Carbon) Nanosecond ¶
Nanosecond gets current nanosecond like 999999999. 获取当前纳秒数
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15.999999999").Nanosecond())
Output: 999999999
func (*Carbon) Ne ¶
Ne reports whether not equal. 是否不等于
Example ¶
fmt.Println(carbon.Parse("2020-08-05 22:00:00").Ne(carbon.Parse("2020-08-05 21:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").Ne(carbon.Parse("2020-08-05 22:00:00"))) fmt.Println(carbon.Parse("2020-08-05 22:00:00").Ne(carbon.Parse("2020-08-05 23:00:00")))
Output: true false true
func (*Carbon) Persian ¶
Persian converts Carbon instance to Persian instance. 将 Carbon 实例转化为 Persian 实例
Example ¶
fmt.Println(carbon.Parse("1800-01-01 00:00:00").Persian().String()) fmt.Println(carbon.Parse("2020-08-05 13:14:15").Persian().String()) fmt.Println(carbon.Parse("2024-01-01 00:00:00").Persian().String())
Output: 1178-10-11 1399-05-15 1402-10-11
func (*Carbon) Quarter ¶
Quarter gets current quarter like 3. 获取当前季度
Example ¶
fmt.Println(carbon.Parse("2020-01-05").Quarter()) fmt.Println(carbon.Parse("2020-04-05").Quarter()) fmt.Println(carbon.Parse("2020-08-05").Quarter()) fmt.Println(carbon.Parse("2020-11-05").Quarter())
Output: 1 2 3 4
func (*Carbon) Season ¶
Season gets season name according to the meteorological division method like "Spring", i18n is supported. 获取当前季节(以气象划分),支持 i18n
Example ¶
fmt.Println(carbon.Parse("2020-01-05").Season()) fmt.Println(carbon.Parse("2020-02-05").Season()) fmt.Println(carbon.Parse("2020-03-05").Season()) fmt.Println(carbon.Parse("2020-04-05").Season()) fmt.Println(carbon.Parse("2020-05-05").Season()) fmt.Println(carbon.Parse("2020-06-05").Season()) fmt.Println(carbon.Parse("2020-07-05").Season()) fmt.Println(carbon.Parse("2020-08-05").Season()) fmt.Println(carbon.Parse("2020-09-05").Season()) fmt.Println(carbon.Parse("2020-10-05").Season()) fmt.Println(carbon.Parse("2020-11-05").Season()) fmt.Println(carbon.Parse("2020-12-05").Season())
Output: Winter Winter Spring Spring Spring Summer Summer Summer Autumn Autumn Autumn Winter
func (*Carbon) Second ¶
Second gets current second like 9. 获取当前秒数
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15.999999999").Second())
Output: 15
func (*Carbon) SetDate ¶
SetDate sets year, month and day. 设置年、月、日
Example ¶
fmt.Println(carbon.Parse("2020-08-05").SetDate(2020, 8, 5).ToString())
Output: 2020-08-05 00:00:00 +0000 UTC
func (*Carbon) SetDateMicro ¶
SetDateMicro sets year, month, day and microsecond. 设置年、月、日、微秒
Example ¶
fmt.Println(carbon.Parse("2020-08-05").SetDateMicro(2020, 8, 5, 999999).ToString())
Output: 2020-08-05 00:00:00.999999 +0000 UTC
func (*Carbon) SetDateMilli ¶
SetDateMilli sets year, month, day and millisecond. 设置年、月、日、毫秒
Example ¶
fmt.Println(carbon.Parse("2020-08-05").SetDateMilli(2020, 8, 5, 999).ToString())
Output: 2020-08-05 00:00:00.999 +0000 UTC
func (*Carbon) SetDateNano ¶
SetDateNano sets year, month, day and nanosecond. 设置年、月、日、纳秒
Example ¶
fmt.Println(carbon.Parse("2020-08-05").SetDateNano(2020, 8, 5, 999999999).ToString())
Output: 2020-08-05 00:00:00.999999999 +0000 UTC
func (*Carbon) SetDateTime ¶
SetDateTime sets year, month, day, hour, minute and second. 设置年、月、日、时、分、秒
Example ¶
fmt.Println(carbon.Parse("2020-08-05").SetDateTime(2020, 8, 5, 13, 14, 15).ToString())
Output: 2020-08-05 13:14:15 +0000 UTC
func (*Carbon) SetDateTimeMicro ¶
SetDateTimeMicro sets year, month, day, hour, minute, second and microsecond. 设置年、月、日、时、分、秒、微秒
Example ¶
fmt.Println(carbon.Parse("2020-08-05").SetDateTimeMicro(2020, 8, 5, 13, 14, 15, 999999).ToString())
Output: 2020-08-05 13:14:15.999999 +0000 UTC
func (*Carbon) SetDateTimeMilli ¶
SetDateTimeMilli sets year, month, day, hour, minute, second and millisecond. 设置年、月、日、时、分、秒、毫秒
Example ¶
fmt.Println(carbon.Parse("2020-08-05").SetDateTimeMilli(2020, 8, 5, 13, 14, 15, 999).ToString())
Output: 2020-08-05 13:14:15.999 +0000 UTC
func (*Carbon) SetDateTimeNano ¶
SetDateTimeNano sets year, month, day, hour, minute, second and nanosecond. 设置年、月、日、时、分、秒、纳秒
Example ¶
fmt.Println(carbon.Parse("2020-08-05").SetDateTimeNano(2020, 8, 5, 13, 14, 15, 999999999).ToString())
Output: 2020-08-05 13:14:15.999999999 +0000 UTC
func (*Carbon) SetDay ¶
SetDay sets day. 设置日期
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SetDay(31).ToString()) fmt.Println(carbon.Parse("2020-02-01").SetDay(31).ToString()) fmt.Println(carbon.Parse("2020-02-28").SetDay(31).ToString())
Output: 2020-01-31 00:00:00 +0000 UTC 2020-03-02 00:00:00 +0000 UTC 2020-03-02 00:00:00 +0000 UTC
func (*Carbon) SetFormat ¶ added in v2.6.0
SetFormat sets format. 设置格式模板
Example ¶
c := carbon.Parse("2020-08-05 13:14:15.999999 +0000 UTC") fmt.Println("date format:", c.SetFormat(carbon.DateFormat)) fmt.Println("time format:", c.SetFormat(carbon.TimeFormat)) fmt.Println("datetime format:", c.SetFormat(carbon.DateTimeFormat)) fmt.Println("timestamp format:", c.SetFormat(carbon.TimestampFormat))
Output: date format: 2020-08-05 time format: 13:14:15 datetime format: 2020-08-05 13:14:15 timestamp format: 1596633255
func (*Carbon) SetHour ¶
SetHour sets hour. 设置小时
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SetHour(10).ToString()) fmt.Println(carbon.Parse("2020-02-01").SetHour(24).ToString()) fmt.Println(carbon.Parse("2020-02-28").SetHour(31).ToString())
Output: 2020-01-01 10:00:00 +0000 UTC 2020-02-02 00:00:00 +0000 UTC 2020-02-29 07:00:00 +0000 UTC
func (*Carbon) SetLanguage ¶ added in v2.6.0
SetLanguage sets language. 设置语言对象
Example ¶
lang := carbon.NewLanguage() lang.SetLocale("en") fmt.Println(carbon.Parse("2020-08-05").SetLanguage(lang).ToMonthString()) lang.SetLocale("zh-CN") fmt.Println(carbon.Parse("2020-08-05").SetLanguage(lang).ToMonthString())
Output: August 八月
func (*Carbon) SetLayout ¶ added in v2.6.0
SetLayout sets layout. 设置布局模板
Example ¶
c := carbon.Parse("2020-08-05 13:14:15.999999 +0000 UTC") fmt.Println("date layout:", c.SetLayout(carbon.DateLayout)) fmt.Println("time layout:", c.SetLayout(carbon.TimeLayout)) fmt.Println("datetime layout:", c.SetLayout(carbon.DateTimeLayout)) fmt.Println("timestamp layout:", c.SetLayout(carbon.TimestampLayout))
Output: date layout: 2020-08-05 time layout: 13:14:15 datetime layout: 2020-08-05 13:14:15 timestamp layout: 1596633255
func (*Carbon) SetLocale ¶
SetLocale sets locale. 设置语言区域
Example ¶
c := carbon.Parse("2020-08-05").SetLocale("zh-CN") fmt.Println(c.Constellation()) fmt.Println(c.Season()) fmt.Println(c.ToMonthString()) fmt.Println(c.ToShortMonthString()) fmt.Println(c.ToWeekString()) fmt.Println(c.ToShortWeekString())
Output: 狮子座 夏季 八月 8月 星期三 周三
func (*Carbon) SetLocation ¶
SetLocation sets location. 设置位置
Example ¶
defer carbon.SetLocation(time.UTC) c := carbon.Parse("2020-08-05") loc, _ := time.LoadLocation(carbon.PRC) c.SetLocation(loc) fmt.Println("default location:", carbon.DefaultTimezone) fmt.Println("zone location:", c.Timezone()) fmt.Println("zone name:", c.ZoneName()) fmt.Println("zone offset:", c.ZoneOffset())
Output: default location: UTC zone location: PRC zone name: CST zone offset: 28800
func (*Carbon) SetMicrosecond ¶
SetMicrosecond sets microsecond. 设置微秒
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SetMicrosecond(100000).ToString()) fmt.Println(carbon.Parse("2020-01-01").SetMicrosecond(999999).ToString())
Output: 2020-01-01 00:00:00.1 +0000 UTC 2020-01-01 00:00:00.999999 +0000 UTC
func (*Carbon) SetMillisecond ¶
SetMillisecond sets millisecond. 设置毫秒
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SetMillisecond(100).ToString()) fmt.Println(carbon.Parse("2020-01-01").SetMillisecond(999).ToString())
Output: 2020-01-01 00:00:00.1 +0000 UTC 2020-01-01 00:00:00.999 +0000 UTC
func (*Carbon) SetMinute ¶
SetMinute sets minute. 设置分钟
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SetMinute(10).ToString()) fmt.Println(carbon.Parse("2020-02-01").SetMinute(24).ToString()) fmt.Println(carbon.Parse("2020-02-28").SetMinute(60).ToString())
Output: 2020-01-01 00:10:00 +0000 UTC 2020-02-01 00:24:00 +0000 UTC 2020-02-28 01:00:00 +0000 UTC
func (*Carbon) SetMonth ¶
SetMonth sets month. 设置月份
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SetMonth(2).ToString()) fmt.Println(carbon.Parse("2020-01-30").SetMonth(2).ToString()) fmt.Println(carbon.Parse("2020-01-31").SetMonth(2).ToString())
Output: 2020-02-01 00:00:00 +0000 UTC 2020-03-01 00:00:00 +0000 UTC 2020-03-02 00:00:00 +0000 UTC
func (*Carbon) SetMonthNoOverflow ¶
SetMonthNoOverflow sets month without overflowing month. 设置月份(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SetMonthNoOverflow(2).ToString()) fmt.Println(carbon.Parse("2020-01-30").SetMonthNoOverflow(2).ToString()) fmt.Println(carbon.Parse("2020-01-31").SetMonthNoOverflow(2).ToString())
Output: 2020-02-01 00:00:00 +0000 UTC 2020-02-29 00:00:00 +0000 UTC 2020-02-29 00:00:00 +0000 UTC
func (*Carbon) SetNanosecond ¶
SetNanosecond sets nanosecond. 设置纳秒
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SetNanosecond(100000000).ToString()) fmt.Println(carbon.Parse("2020-01-01").SetNanosecond(999999999).ToString())
Output: 2020-01-01 00:00:00.1 +0000 UTC 2020-01-01 00:00:00.999999999 +0000 UTC
func (*Carbon) SetSecond ¶
SetSecond sets second. 设置秒数
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SetSecond(10).ToString()) fmt.Println(carbon.Parse("2020-02-01").SetSecond(24).ToString()) fmt.Println(carbon.Parse("2020-02-28").SetSecond(60).ToString())
Output: 2020-01-01 00:00:10 +0000 UTC 2020-02-01 00:00:24 +0000 UTC 2020-02-28 00:01:00 +0000 UTC
func (*Carbon) SetTime ¶
SetTime sets hour, minute and second. 设置时、分、秒
Example ¶
fmt.Println(carbon.Parse("2020-08-05").SetTime(13, 14, 15).ToString())
Output: 2020-08-05 13:14:15 +0000 UTC
func (*Carbon) SetTimeMicro ¶
SetTimeMicro sets hour, minute, second and microsecond. 设置时、分、秒、微秒
Example ¶
fmt.Println(carbon.Parse("2020-08-05").SetTimeMicro(13, 14, 15, 999999).ToString())
Output: 2020-08-05 13:14:15.999999 +0000 UTC
func (*Carbon) SetTimeMilli ¶
SetTimeMilli sets hour, minute, second and millisecond. 设置时、分、秒、毫秒
Example ¶
fmt.Println(carbon.Parse("2020-08-05").SetTimeMilli(13, 14, 15, 999).ToString())
Output: 2020-08-05 13:14:15.999 +0000 UTC
func (*Carbon) SetTimeNano ¶
SetTimeNano sets hour, minute, second and nanosecond. 设置、时、分、秒、纳秒
Example ¶
fmt.Println(carbon.Parse("2020-08-05").SetTimeNano(13, 14, 15, 999999999).ToString())
Output: 2020-08-05 13:14:15.999999999 +0000 UTC
func (*Carbon) SetTimezone ¶
SetTimezone sets timezone. 设置时区
Example ¶
fmt.Println("UTC zone location:", carbon.Now().SetTimezone(carbon.UTC).Timezone()) fmt.Println("UTC zone name:", carbon.Now().SetTimezone(carbon.UTC).ZoneName()) fmt.Println("UTC zone offset:", carbon.Now().SetTimezone(carbon.UTC).ZoneOffset()) fmt.Println("PRC zone location:", carbon.Now().SetTimezone(carbon.PRC).Timezone()) fmt.Println("PRC zone name:", carbon.Now().SetTimezone(carbon.PRC).ZoneName()) fmt.Println("PRC zone offset:", carbon.Now().SetTimezone(carbon.PRC).ZoneOffset()) fmt.Println("Japan zone location:", carbon.Now().SetTimezone(carbon.Japan).Timezone()) fmt.Println("Japan zone name:", carbon.Now().SetTimezone(carbon.Japan).ZoneName()) fmt.Println("Japan zone offset:", carbon.Now().SetTimezone(carbon.Japan).ZoneOffset())
Output: UTC zone location: UTC UTC zone name: UTC UTC zone offset: 0 PRC zone location: PRC PRC zone name: CST PRC zone offset: 28800 Japan zone location: Japan Japan zone name: JST Japan zone offset: 32400
func (*Carbon) SetWeekStartsAt ¶
SetWeekStartsAt sets start day of the week. 设置一周起始日期
Example ¶
fmt.Println("week starts at:", carbon.Now().SetWeekStartsAt(carbon.Sunday).WeekStartsAt()) fmt.Println("week starts at:", carbon.Now().SetWeekStartsAt(carbon.Monday).WeekStartsAt())
Output: week starts at: Sunday week starts at: Monday
func (*Carbon) SetWeekendDays ¶ added in v2.6.3
SetWeekendDays sets weekend days of the week. 设置一周周末日期
Example ¶
wd1 := []carbon.Weekday{ carbon.Saturday, } fmt.Println(carbon.Parse("2025-04-12").SetWeekendDays(wd1).IsWeekend()) fmt.Println(carbon.Parse("2025-04-13").SetWeekendDays(wd1).IsWeekend()) wd2 := []carbon.Weekday{ carbon.Sunday, } fmt.Println(carbon.Parse("2025-04-12").SetWeekendDays(wd2).IsWeekend()) fmt.Println(carbon.Parse("2025-04-13").SetWeekendDays(wd2).IsWeekend())
Output: true false false true
func (*Carbon) SetYear ¶
SetYear sets year. 设置年份
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SetYear(2019).ToString()) fmt.Println(carbon.Parse("2020-01-31").SetYear(2019).ToString()) fmt.Println(carbon.Parse("2020-02-29").SetYear(2019).ToString())
Output: 2019-01-01 00:00:00 +0000 UTC 2019-01-31 00:00:00 +0000 UTC 2019-03-01 00:00:00 +0000 UTC
func (*Carbon) SetYearNoOverflow ¶
SetYearNoOverflow sets year without overflowing month. 设置年份(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SetYearNoOverflow(2019).ToString()) fmt.Println(carbon.Parse("2020-01-31").SetYearNoOverflow(2019).ToString()) fmt.Println(carbon.Parse("2020-02-29").SetYearNoOverflow(2019).ToString())
Output: 2019-01-01 00:00:00 +0000 UTC 2019-01-31 00:00:00 +0000 UTC 2019-02-28 00:00:00 +0000 UTC
func (*Carbon) StartOfCentury ¶
StartOfCentury returns a Carbon instance for start of the century. 本世纪开始时间
Example ¶
fmt.Println(carbon.NewCarbon().StartOfCentury().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").StartOfCentury().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").StartOfCentury().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").StartOfCentury().ToString())
Output: 0000-01-01 00:00:00 +0000 UTC 2000-01-01 00:00:00 +0000 UTC 2000-01-01 00:00:00 +0000 UTC 2000-01-01 00:00:00 +0000 UTC
func (*Carbon) StartOfDay ¶
StartOfDay returns a Carbon instance for start of the day. 本日开始时间
Example ¶
fmt.Println(carbon.NewCarbon().StartOfDay().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").StartOfDay().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").StartOfDay().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").StartOfDay().ToString())
Output: 0001-01-01 00:00:00 +0000 UTC 2020-01-01 00:00:00 +0000 UTC 2020-08-15 00:00:00 +0000 UTC 2020-12-31 00:00:00 +0000 UTC
func (*Carbon) StartOfDecade ¶
StartOfDecade returns a Carbon instance for start of the decade. 本年代开始时间
Example ¶
fmt.Println(carbon.NewCarbon().StartOfDecade().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").StartOfDecade().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").StartOfDecade().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").StartOfDecade().ToString())
Output: 0000-01-01 00:00:00 +0000 UTC 2020-01-01 00:00:00 +0000 UTC 2020-01-01 00:00:00 +0000 UTC 2020-01-01 00:00:00 +0000 UTC
func (*Carbon) StartOfHour ¶
StartOfHour returns a Carbon instance for start of the hour. 小时开始时间
Example ¶
fmt.Println(carbon.NewCarbon().StartOfHour().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").StartOfHour().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").StartOfHour().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").StartOfHour().ToString())
Output: 0001-01-01 00:00:00 +0000 UTC 2020-01-01 00:00:00 +0000 UTC 2020-08-15 12:00:00 +0000 UTC 2020-12-31 23:00:00 +0000 UTC
func (*Carbon) StartOfMinute ¶
StartOfMinute returns a Carbon instance for start of the minute. 分钟开始时间
Example ¶
fmt.Println(carbon.NewCarbon().StartOfMinute().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").StartOfMinute().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").StartOfMinute().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").StartOfMinute().ToString())
Output: 0001-01-01 00:00:00 +0000 UTC 2020-01-01 00:00:00 +0000 UTC 2020-08-15 12:30:00 +0000 UTC 2020-12-31 23:59:00 +0000 UTC
func (*Carbon) StartOfMonth ¶
StartOfMonth returns a Carbon instance for start of the month. 本月开始时间
Example ¶
fmt.Println(carbon.NewCarbon().StartOfMonth().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").StartOfMonth().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").StartOfMonth().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").StartOfMonth().ToString())
Output: 0001-01-01 00:00:00 +0000 UTC 2020-01-01 00:00:00 +0000 UTC 2020-08-01 00:00:00 +0000 UTC 2020-12-01 00:00:00 +0000 UTC
func (*Carbon) StartOfQuarter ¶
StartOfQuarter returns a Carbon instance for start of the quarter. 本季度开始时间
Example ¶
fmt.Println(carbon.NewCarbon().StartOfQuarter().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").StartOfQuarter().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").StartOfQuarter().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").StartOfQuarter().ToString())
Output: 0001-01-01 00:00:00 +0000 UTC 2020-01-01 00:00:00 +0000 UTC 2020-07-01 00:00:00 +0000 UTC 2020-10-01 00:00:00 +0000 UTC
func (*Carbon) StartOfSeason ¶
StartOfSeason returns a Carbon instance for start of the season. 本季节开始时间
Example ¶
fmt.Println(carbon.Parse("2020-01-15").StartOfSeason().ToString()) fmt.Println(carbon.Parse("2020-02-15").StartOfSeason().ToString()) fmt.Println(carbon.Parse("2020-03-15").StartOfSeason().ToString()) fmt.Println(carbon.Parse("2020-04-15").StartOfSeason().ToString()) fmt.Println(carbon.Parse("2020-05-15").StartOfSeason().ToString()) fmt.Println(carbon.Parse("2020-06-15").StartOfSeason().ToString()) fmt.Println(carbon.Parse("2020-07-15").StartOfSeason().ToString()) fmt.Println(carbon.Parse("2020-08-15").StartOfSeason().ToString()) fmt.Println(carbon.Parse("2020-09-15").StartOfSeason().ToString()) fmt.Println(carbon.Parse("2020-10-15").StartOfSeason().ToString()) fmt.Println(carbon.Parse("2020-11-15").StartOfSeason().ToString()) fmt.Println(carbon.Parse("2020-12-15").StartOfSeason().ToString())
Output: 2019-12-01 00:00:00 +0000 UTC 2019-12-01 00:00:00 +0000 UTC 2020-03-01 00:00:00 +0000 UTC 2020-03-01 00:00:00 +0000 UTC 2020-03-01 00:00:00 +0000 UTC 2020-06-01 00:00:00 +0000 UTC 2020-06-01 00:00:00 +0000 UTC 2020-06-01 00:00:00 +0000 UTC 2020-09-01 00:00:00 +0000 UTC 2020-09-01 00:00:00 +0000 UTC 2020-09-01 00:00:00 +0000 UTC 2020-12-01 00:00:00 +0000 UTC
func (*Carbon) StartOfSecond ¶
StartOfSecond returns a Carbon instance for start of the second. 秒开始时间
Example ¶
fmt.Println(carbon.NewCarbon().StartOfSecond().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").StartOfSecond().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").StartOfSecond().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").StartOfSecond().ToString())
Output: 0001-01-01 00:00:00 +0000 UTC 2020-01-01 00:00:00 +0000 UTC 2020-08-15 12:30:30 +0000 UTC 2020-12-31 23:59:59 +0000 UTC
func (*Carbon) StartOfWeek ¶
StartOfWeek returns a Carbon instance for start of the week. 本周开始时间
Example ¶
fmt.Println(carbon.NewCarbon().StartOfWeek().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").StartOfWeek().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").StartOfWeek().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").StartOfWeek().ToString())
Output: 0001-01-01 00:00:00 +0000 UTC 2019-12-30 00:00:00 +0000 UTC 2020-08-10 00:00:00 +0000 UTC 2020-12-28 00:00:00 +0000 UTC
func (*Carbon) StartOfYear ¶
StartOfYear returns a Carbon instance for start of the year. 本年开始时间
Example ¶
fmt.Println(carbon.NewCarbon().StartOfYear().ToString()) fmt.Println(carbon.Parse("2020-01-01 00:00:00").StartOfYear().ToString()) fmt.Println(carbon.Parse("2020-08-15 12:30:30").StartOfYear().ToString()) fmt.Println(carbon.Parse("2020-12-31 23:59:59").StartOfYear().ToString())
Output: 0001-01-01 00:00:00 +0000 UTC 2020-01-01 00:00:00 +0000 UTC 2020-01-01 00:00:00 +0000 UTC 2020-01-01 00:00:00 +0000 UTC
func (*Carbon) StdTime ¶
StdTime gets standard time.Time. 获取标准 time.Time
Example ¶
fmt.Println(carbon.Parse("2020-08-05").StdTime().String()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).StdTime().String())
Output: 2020-08-05 00:00:00 +0000 UTC 2020-08-05 00:00:00 +0800 CST
func (*Carbon) String ¶
String implements the interface Stringer for Carbon struct. 实现 Stringer 接口
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").String()) fmt.Println(carbon.Parse("2020-08-05 13:14:15", carbon.PRC).String())
Output: 2020-08-05 13:14:15 2020-08-05 13:14:15
func (*Carbon) SubCenturies ¶
SubCenturies subtracts some centuries. N 个世纪前
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubCenturies(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubCenturies(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubCenturies(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 1920-01-01 13:14:15 +0000 UTC 1820-01-01 13:14:15 +0000 UTC
func (*Carbon) SubCenturiesNoOverflow ¶
SubCenturiesNoOverflow subtracts some centuries without overflowing month. N 个世纪前(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-02-28 13:14:15").SubCenturiesNoOverflow(0).ToString()) fmt.Println(carbon.Parse("2020-02-28 13:14:15").SubCenturiesNoOverflow(1).ToString()) fmt.Println(carbon.Parse("2020-02-28 13:14:15").SubCenturiesNoOverflow(2).ToString())
Output: 2020-02-28 13:14:15 +0000 UTC 1920-02-28 13:14:15 +0000 UTC 1820-02-28 13:14:15 +0000 UTC
func (*Carbon) SubCentury ¶
SubCentury subtracts one century. 1 个世纪前
Example ¶
fmt.Println(carbon.Parse("2020-02-28 13:14:15").SubCentury().ToString())
Output: 1920-02-28 13:14:15 +0000 UTC
func (*Carbon) SubCenturyNoOverflow ¶
SubCenturyNoOverflow subtracts one century without overflowing month. 1 个世纪前(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-02-28 13:14:15").SubCenturyNoOverflow().ToString())
Output: 1920-02-28 13:14:15 +0000 UTC
func (*Carbon) SubDay ¶
SubDay subtracts one day. 1 天前
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SubDay().ToDateString()) fmt.Println(carbon.Parse("2020-02-28").SubDay().ToDateString()) fmt.Println(carbon.Parse("2020-02-29").SubDay().ToDateString()) fmt.Println(carbon.Parse("2020-11-30").SubDay().ToDateString())
Output: 2019-12-31 2020-02-27 2020-02-28 2020-11-29
func (*Carbon) SubDays ¶
SubDays subtracts some days. N 天前
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SubDays(0).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").SubDays(1).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").SubDays(2).ToDateString()) fmt.Println(carbon.Parse("2020-02-29").SubDays(3).ToDateString()) fmt.Println(carbon.Parse("2020-08-31").SubDays(2).ToDateString())
Output: 2020-01-01 2019-12-31 2019-12-30 2020-02-26 2020-08-29
func (*Carbon) SubDecade ¶
SubDecade subtracts one decade. 1 个年代后
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubDecade().ToString())
Output: 2010-01-01 13:14:15 +0000 UTC
func (*Carbon) SubDecadeNoOverflow ¶
SubDecadeNoOverflow subtracts one decade without overflowing month. 1 个年代后(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubDecadeNoOverflow().ToString())
Output: 2010-01-01 13:14:15 +0000 UTC
func (*Carbon) SubDecades ¶
SubDecades subtracts some decades. N 个年代后
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubDecades(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubDecades(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubDecades(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2010-01-01 13:14:15 +0000 UTC 2000-01-01 13:14:15 +0000 UTC
func (*Carbon) SubDecadesNoOverflow ¶
SubDecadesNoOverflow subtracts some decades without overflowing month. N 个年代后(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubDecadesNoOverflow(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubDecadesNoOverflow(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubDecadesNoOverflow(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2010-01-01 13:14:15 +0000 UTC 2000-01-01 13:14:15 +0000 UTC
func (*Carbon) SubDuration ¶
SubDuration subtracts duration. 按照时长减少时间,支持整数/浮点数和符号ns(纳秒)、us(微妙)、ms(毫秒)、s(秒)、m(分钟)、h(小时)的组合
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubDuration("10h").ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubDuration("10.5h").ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubDuration("10m").ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubDuration("10.5m").ToString())
Output: 2020-01-01 03:14:15 +0000 UTC 2020-01-01 02:44:15 +0000 UTC 2020-01-01 13:04:15 +0000 UTC 2020-01-01 13:03:45 +0000 UTC
func (*Carbon) SubHour ¶
SubHour subtracts one hour. 1 小时前
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").SubHour().ToString())
Output: 2020-08-05 12:14:15 +0000 UTC
func (*Carbon) SubHours ¶
SubHours subtracts some hours. N 小时前
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubHours(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubHours(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubHours(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2020-01-01 12:14:15 +0000 UTC 2020-01-01 11:14:15 +0000 UTC
func (*Carbon) SubMicrosecond ¶
SubMicrosecond subtracts one microsecond. 1 微秒前
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").SubMicrosecond().ToString())
Output: 2020-08-05 13:14:14.999999 +0000 UTC
func (*Carbon) SubMicroseconds ¶
SubMicroseconds subtracts some microseconds. N 微秒前
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubMicroseconds(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubMicroseconds(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubMicroseconds(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2020-01-01 13:14:14.999999 +0000 UTC 2020-01-01 13:14:14.999998 +0000 UTC
func (*Carbon) SubMillisecond ¶
SubMillisecond subtracts one millisecond. 1 毫秒前
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").SubMillisecond().ToString())
Output: 2020-08-05 13:14:14.999 +0000 UTC
func (*Carbon) SubMilliseconds ¶
SubMilliseconds subtracts some milliseconds. N 毫秒前
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubMilliseconds(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubMilliseconds(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubMilliseconds(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2020-01-01 13:14:14.999 +0000 UTC 2020-01-01 13:14:14.998 +0000 UTC
func (*Carbon) SubMinute ¶
SubMinute subtracts one minute. 1 分钟前
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").SubMinute().ToString())
Output: 2020-08-05 13:13:15 +0000 UTC
func (*Carbon) SubMinutes ¶
SubMinutes subtracts some minutes. N 分钟前
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubMinutes(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubMinutes(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubMinutes(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2020-01-01 13:13:15 +0000 UTC 2020-01-01 13:12:15 +0000 UTC
func (*Carbon) SubMonth ¶
SubMonth subtracts one month. 1 个月前
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SubMonth().ToDateString()) fmt.Println(carbon.Parse("2020-02-28").SubMonth().ToDateString()) fmt.Println(carbon.Parse("2020-02-29").SubMonth().ToDateString()) fmt.Println(carbon.Parse("2020-11-30").SubMonth().ToDateString())
Output: 2019-12-01 2020-01-28 2020-01-29 2020-10-30
func (*Carbon) SubMonthNoOverflow ¶
SubMonthNoOverflow subtracts one month without overflowing month. 1 个月前(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SubMonthNoOverflow().ToDateString()) fmt.Println(carbon.Parse("2020-02-28").SubMonthNoOverflow().ToDateString()) fmt.Println(carbon.Parse("2020-02-29").SubMonthNoOverflow().ToDateString()) fmt.Println(carbon.Parse("2020-11-30").SubMonthNoOverflow().ToDateString())
Output: 2019-12-01 2020-01-28 2020-01-29 2020-10-30
func (*Carbon) SubMonths ¶
SubMonths subtracts some months. N 个月前
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SubMonths(0).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").SubMonths(1).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").SubMonths(2).ToDateString()) fmt.Println(carbon.Parse("2020-02-29").SubMonths(3).ToDateString()) fmt.Println(carbon.Parse("2020-08-31").SubMonths(2).ToDateString())
Output: 2020-01-01 2019-12-01 2019-11-01 2019-11-29 2020-07-01
func (*Carbon) SubMonthsNoOverflow ¶
SubMonthsNoOverflow subtracts some months without overflowing month. N 个月前(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SubMonthsNoOverflow(0).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").SubMonthsNoOverflow(1).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").SubMonthsNoOverflow(2).ToDateString()) fmt.Println(carbon.Parse("2020-02-29").SubMonthsNoOverflow(3).ToDateString()) fmt.Println(carbon.Parse("2020-08-31").SubMonthsNoOverflow(2).ToDateString())
Output: 2020-01-01 2019-12-01 2019-11-01 2019-11-29 2020-06-30
func (*Carbon) SubNanosecond ¶
SubNanosecond subtracts one nanosecond. 1 纳秒前
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").SubNanosecond().ToString())
Output: 2020-08-05 13:14:14.999999999 +0000 UTC
func (*Carbon) SubNanoseconds ¶
SubNanoseconds subtracts some nanoseconds. N 纳秒前
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubNanoseconds(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubNanoseconds(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubNanoseconds(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2020-01-01 13:14:14.999999999 +0000 UTC 2020-01-01 13:14:14.999999998 +0000 UTC
func (*Carbon) SubQuarter ¶
SubQuarter subtracts one quarter. 1 个季度前
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SubQuarter().ToDateString()) fmt.Println(carbon.Parse("2020-02-28").SubQuarter().ToDateString()) fmt.Println(carbon.Parse("2020-02-29").SubQuarter().ToDateString()) fmt.Println(carbon.Parse("2020-11-30").SubQuarter().ToDateString())
Output: 2019-10-01 2019-11-28 2019-11-29 2020-08-30
func (*Carbon) SubQuarterNoOverflow ¶
SubQuarterNoOverflow subtracts one quarter without overflowing month. 1 个季度前(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SubQuarterNoOverflow().ToDateString()) fmt.Println(carbon.Parse("2020-02-28").SubQuarterNoOverflow().ToDateString()) fmt.Println(carbon.Parse("2020-02-29").SubQuarterNoOverflow().ToDateString()) fmt.Println(carbon.Parse("2020-11-30").SubQuarterNoOverflow().ToDateString())
Output: 2019-10-01 2019-11-28 2019-11-29 2020-08-30
func (*Carbon) SubQuarters ¶
SubQuarters subtracts some quarters. N 个季度前
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SubQuarters(0).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").SubQuarters(1).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").SubQuarters(2).ToDateString()) fmt.Println(carbon.Parse("2020-02-29").SubQuarters(3).ToDateString()) fmt.Println(carbon.Parse("2020-08-31").SubQuarters(2).ToDateString())
Output: 2020-01-01 2019-10-01 2019-07-01 2019-05-29 2020-03-02
func (*Carbon) SubQuartersNoOverflow ¶
SubQuartersNoOverflow subtracts some quarters without overflowing month. N 个季度前(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SubQuartersNoOverflow(0).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").SubQuartersNoOverflow(1).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").SubQuartersNoOverflow(2).ToDateString()) fmt.Println(carbon.Parse("2020-02-29").SubQuartersNoOverflow(3).ToDateString()) fmt.Println(carbon.Parse("2020-08-31").SubQuartersNoOverflow(2).ToDateString())
Output: 2020-01-01 2019-10-01 2019-07-01 2019-05-29 2020-02-29
func (*Carbon) SubSecond ¶
SubSecond subtracts one second. 1 秒钟前
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").SubSecond().ToString())
Output: 2020-08-05 13:14:14 +0000 UTC
func (*Carbon) SubSeconds ¶
SubSeconds subtracts some seconds. N 秒钟前
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubSeconds(0).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubSeconds(1).ToString()) fmt.Println(carbon.Parse("2020-01-01 13:14:15").SubSeconds(2).ToString())
Output: 2020-01-01 13:14:15 +0000 UTC 2020-01-01 13:14:14 +0000 UTC 2020-01-01 13:14:13 +0000 UTC
func (*Carbon) SubWeek ¶
SubWeek subtracts one week. 1 周前
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SubWeek().ToDateString()) fmt.Println(carbon.Parse("2020-02-28").SubWeek().ToDateString()) fmt.Println(carbon.Parse("2020-02-29").SubWeek().ToDateString()) fmt.Println(carbon.Parse("2020-11-30").SubWeek().ToDateString())
Output: 2019-12-25 2020-02-21 2020-02-22 2020-11-23
func (*Carbon) SubWeeks ¶
SubWeeks subtracts some weeks. N 周前
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SubWeeks(0).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").SubWeeks(1).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").SubWeeks(2).ToDateString()) fmt.Println(carbon.Parse("2020-02-29").SubWeeks(3).ToDateString()) fmt.Println(carbon.Parse("2020-08-31").SubWeeks(2).ToDateString())
Output: 2020-01-01 2019-12-25 2019-12-18 2020-02-08 2020-08-17
func (*Carbon) SubYear ¶
SubYear subtracts one year. 1 年前
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SubYear().ToDateString()) fmt.Println(carbon.Parse("2020-02-28").SubYear().ToDateString()) fmt.Println(carbon.Parse("2020-02-29").SubYear().ToDateString())
Output: 2019-01-01 2019-02-28 2019-03-01
func (*Carbon) SubYearNoOverflow ¶
SubYearNoOverflow subtracts one year without overflowing month. 1 年前(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SubYearNoOverflow().ToDateString()) fmt.Println(carbon.Parse("2020-02-28").SubYearNoOverflow().ToDateString()) fmt.Println(carbon.Parse("2020-02-29").SubYearNoOverflow().ToDateString())
Output: 2019-01-01 2019-02-28 2019-02-28
func (*Carbon) SubYears ¶
SubYears subtracts some years. N 年前
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SubYears(0).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").SubYears(1).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").SubYears(2).ToDateString()) fmt.Println(carbon.Parse("2020-02-29").SubYears(3).ToDateString())
Output: 2020-01-01 2019-01-01 2018-01-01 2017-03-01
func (*Carbon) SubYearsNoOverflow ¶
SubYearsNoOverflow subtracts some years without overflowing month. N 年前(月份不溢出)
Example ¶
fmt.Println(carbon.Parse("2020-01-01").SubYearsNoOverflow(0).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").SubYearsNoOverflow(1).ToDateString()) fmt.Println(carbon.Parse("2020-01-01").SubYearsNoOverflow(2).ToDateString()) fmt.Println(carbon.Parse("2020-02-29").SubYearsNoOverflow(3).ToDateString())
Output: 2020-01-01 2019-01-01 2018-01-01 2017-02-28
func (*Carbon) Time ¶
Time gets current hour, minute, and second like 13, 14, 15. 获取当前时、分、秒
Example ¶
hour, minute, second := carbon.Parse("2020-08-05 13:14:15.999999999").Time() fmt.Println(hour) fmt.Println(minute) fmt.Println(second)
Output: 13 14 15
func (*Carbon) TimeMicro ¶
TimeMicro gets current hour, minute, second and microsecond like 13, 14, 15, 999999. 获取当前时、分、秒、微秒
Example ¶
hour, minute, second, microsecond := carbon.Parse("2020-08-05 13:14:15.999999999").TimeMicro() fmt.Println(hour) fmt.Println(minute) fmt.Println(second) fmt.Println(microsecond)
Output: 13 14 15 999999
func (*Carbon) TimeMilli ¶
TimeMilli gets current hour, minute, second and millisecond like 13, 14, 15, 999. 获取当前时、分、秒、毫秒
Example ¶
hour, minute, second, millisecond := carbon.Parse("2020-08-05 13:14:15.999999999").TimeMilli() fmt.Println(hour) fmt.Println(minute) fmt.Println(second) fmt.Println(millisecond)
Output: 13 14 15 999
func (*Carbon) TimeNano ¶
TimeNano gets current hour, minute, second and nanosecond like 13, 14, 15, 999999999. 获取当前时、分、秒、纳秒
Example ¶
hour, minute, second, nanosecond := carbon.Parse("2020-08-05 13:14:15.999999999").TimeNano() fmt.Println(hour) fmt.Println(minute) fmt.Println(second) fmt.Println(nanosecond)
Output: 13 14 15 999999999
func (*Carbon) Timestamp ¶
Timestamp gets timestamp with second precision like 1596604455. 输出秒精度时间戳
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15", carbon.PRC).Timestamp()) fmt.Println(carbon.Parse("2020-08-05 13:14:15.999999999").Timestamp())
Output: 1577855655 1596633255
func (*Carbon) TimestampMicro ¶
TimestampMicro gets timestamp with microsecond precision like 1596604455000000. 获取微秒精度时间戳
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15", carbon.PRC).TimestampMicro()) fmt.Println(carbon.Parse("2020-08-05 13:14:15.999999999").TimestampMicro())
Output: 1577855655000000 1596633255999999
func (*Carbon) TimestampMilli ¶
TimestampMilli gets timestamp with millisecond precision like 1596604455000. 获取毫秒精度时间戳
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15", carbon.PRC).TimestampMilli()) fmt.Println(carbon.Parse("2020-08-05 13:14:15.999999999").TimestampMilli())
Output: 1577855655000 1596633255999
func (*Carbon) TimestampNano ¶
TimestampNano gets timestamp with nanosecond precision like 1596604455000000000. 获取纳秒精度时间戳
Example ¶
fmt.Println(carbon.Parse("2020-01-01 13:14:15", carbon.PRC).TimestampNano()) fmt.Println(carbon.Parse("2020-08-05 13:14:15.999999999").TimestampNano())
Output: 1577855655000000000 1596633255999999999
func (*Carbon) Timezone ¶
Timezone gets timezone location like "Asia/Shanghai". 获取时区位置
Example ¶
fmt.Println(carbon.Now().Timezone()) fmt.Println(carbon.Now(carbon.Tokyo).Timezone()) fmt.Println(carbon.Now(carbon.PRC).Timezone())
Output: UTC Asia/Tokyo PRC
func (*Carbon) ToAnsicString ¶
ToAnsicString outputs a string in "Mon Jan _2 15:04:05 2006" layout. 输出 "Mon Jan _2 15:04:05 2006" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToAnsicString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToAnsicString())
Output: Wed Aug 5 13:14:15 2020 Wed Aug 5 00:00:00 2020
func (*Carbon) ToAtomString ¶
ToAtomString outputs a string in "2006-01-02T15:04:05Z07:00" layout. 输出 "2006-01-02T15:04:05Z07:00" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToAtomString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToAtomString())
Output: 2020-08-05T13:14:15Z 2020-08-05T00:00:00+08:00
func (*Carbon) ToCookieString ¶
ToCookieString outputs a string in "Monday, 02-Jan-2006 15:04:05 MST" layout. 输出 "Monday, 02-Jan-2006 15:04:05 MST" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToCookieString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToCookieString())
Output: Wednesday, 05-Aug-2020 13:14:15 UTC Wednesday, 05-Aug-2020 00:00:00 CST
func (*Carbon) ToDateMicroString ¶
ToDateMicroString outputs a string in "2006-01-02.999999" layout. 输出 "2006-01-02.999999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToDateMicroString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToDateMicroString())
Output: 2020-08-05.999999 2020-08-05
func (*Carbon) ToDateMilliString ¶
ToDateMilliString outputs a string in "2006-01-02.999" layout. 输出 "2006-01-02.999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToDateMilliString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToDateMilliString())
Output: 2020-08-05.999 2020-08-05
func (*Carbon) ToDateNanoString ¶
ToDateNanoString outputs a string in "2006-01-02.999999999" layout. 输出 "2006-01-02.999999999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToDateNanoString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToDateNanoString())
Output: 2020-08-05.999999999 2020-08-05
func (*Carbon) ToDateString ¶
ToDateString outputs a string in "2006-01-02" layout. 输出 "2006-01-02" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToDateString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToDateString())
Output: 2020-08-05 2020-08-05
func (*Carbon) ToDateTimeMicroString ¶
ToDateTimeMicroString outputs a string in "2006-01-02 15:04:05.999999" layout. 输出 "2006-01-02 15:04:05.999999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToDateTimeMicroString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToDateTimeMicroString())
Output: 2020-08-05 13:14:15.999999 2020-08-05 00:00:00
func (*Carbon) ToDateTimeMilliString ¶
ToDateTimeMilliString outputs a string in "2006-01-02 15:04:05.999" layout. 输出 "2006-01-02 15:04:05.999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToDateTimeMilliString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToDateTimeMilliString())
Output: 2020-08-05 13:14:15.999 2020-08-05 00:00:00
func (*Carbon) ToDateTimeNanoString ¶
ToDateTimeNanoString outputs a string in "2006-01-02 15:04:05.999999999" layout. 输出 "2006-01-02 15:04:05.999999999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToDateTimeNanoString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToDateTimeNanoString())
Output: 2020-08-05 13:14:15.999999999 2020-08-05 00:00:00
func (*Carbon) ToDateTimeString ¶
ToDateTimeString outputs a string in "2006-01-02 15:04:05" layout. 输出 "2006-01-02 15:04:05" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToDateTimeString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToDateTimeString())
Output: 2020-08-05 13:14:15 2020-08-05 00:00:00
func (*Carbon) ToDayDateTimeString ¶
ToDayDateTimeString outputs a string in "Mon, Jan 2, 2006 3:04 PM" layout. 输出 "Mon, Jan 2, 2006 3:04 PM" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").ToDayDateTimeString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToDayDateTimeString())
Output: Wed, Aug 5, 2020 1:14 PM Wed, Aug 5, 2020 12:00 AM
func (*Carbon) ToFormattedDateString ¶
ToFormattedDateString outputs a string in "Jan 2, 2006" layout. 输出 "Jan 2, 2006" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToFormattedDateString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToFormattedDateString())
Output: Aug 5, 2020 Aug 5, 2020
func (*Carbon) ToFormattedDayDateString ¶
ToFormattedDayDateString outputs a string in "Mon, Jan 2, 2006" layout. 输出 "Jan 2, 2006" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToFormattedDayDateString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToFormattedDayDateString())
Output: Wed, Aug 5, 2020 Wed, Aug 5, 2020
func (*Carbon) ToIso8601MicroString ¶
ToIso8601MicroString outputs a string in "2006-01-02T15:04:05.999999-07:00" layout. 输出 "2006-01-02T15:04:05.999999-07:00" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToIso8601MicroString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToIso8601MicroString())
Output: 2020-08-05T13:14:15.999999+00:00 2020-08-05T00:00:00+08:00
func (*Carbon) ToIso8601MilliString ¶
ToIso8601MilliString outputs a string in "2006-01-02T15:04:05.999-07:00" layout. 输出 "2006-01-02T15:04:05.999-07:00" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToIso8601MilliString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToIso8601MilliString())
Output: 2020-08-05T13:14:15.999+00:00 2020-08-05T00:00:00+08:00
func (*Carbon) ToIso8601NanoString ¶
ToIso8601NanoString outputs a string in "2006-01-02T15:04:05.999999999-07:00" layout. 输出 "2006-01-02T15:04:05.999999999-07:00" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToIso8601NanoString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToIso8601NanoString())
Output: 2020-08-05T13:14:15.999999999+00:00 2020-08-05T00:00:00+08:00
func (*Carbon) ToIso8601String ¶
ToIso8601String outputs a string in "2006-01-02T15:04:05-07:00" layout. 输出 "2006-01-02T15:04:05-07:00" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToIso8601String()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToIso8601String())
Output: 2020-08-05T13:14:15+00:00 2020-08-05T00:00:00+08:00
func (*Carbon) ToIso8601ZuluMicroString ¶
ToIso8601ZuluMicroString outputs a string in "2006-01-02T15:04:05.999999Z" layout. 输出 "2006-01-02T15:04:05.999999Z" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToIso8601ZuluMicroString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToIso8601ZuluMicroString())
Output: 2020-08-05T13:14:15.999999Z 2020-08-05T00:00:00Z
func (*Carbon) ToIso8601ZuluMilliString ¶
ToIso8601ZuluMilliString outputs a string in "2006-01-02T15:04:05.999Z" layout. 输出 "2006-01-02T15:04:05.999Z" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToIso8601ZuluMilliString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToIso8601ZuluMilliString())
Output: 2020-08-05T13:14:15.999Z 2020-08-05T00:00:00Z
func (*Carbon) ToIso8601ZuluNanoString ¶
ToIso8601ZuluNanoString outputs a string in "2006-01-02T15:04:05.999999999Z" layout. 输出 "2006-01-02T15:04:05.999999999Z" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToIso8601ZuluNanoString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToIso8601ZuluNanoString())
Output: 2020-08-05T13:14:15.999999999Z 2020-08-05T00:00:00Z
func (*Carbon) ToIso8601ZuluString ¶
ToIso8601ZuluString outputs a string in "2006-01-02T15:04:05Z" layout. 输出 "2006-01-02T15:04:05Z" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToIso8601ZuluString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToIso8601ZuluString())
Output: 2020-08-05T13:14:15Z 2020-08-05T00:00:00Z
func (*Carbon) ToKitchenString ¶
ToKitchenString outputs a string in "3:04PM" layout. 输出 "3:04PM" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToKitchenString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToKitchenString())
Output: 1:14PM 12:00AM
func (*Carbon) ToMonthString ¶
ToMonthString outputs a string in month layout like "January", i18n is supported. 输出完整月份字符串,支持 i18n
Example ¶
fmt.Println(carbon.Parse("2020-01-05").ToMonthString()) fmt.Println(carbon.Parse("2020-02-05").ToMonthString()) fmt.Println(carbon.Parse("2020-03-05").ToMonthString()) fmt.Println(carbon.Parse("2020-04-05").ToMonthString()) fmt.Println(carbon.Parse("2020-05-05").ToMonthString()) fmt.Println(carbon.Parse("2020-06-05").ToMonthString()) fmt.Println(carbon.Parse("2020-07-05").ToMonthString()) fmt.Println(carbon.Parse("2020-08-05").ToMonthString()) fmt.Println(carbon.Parse("2020-09-05").ToMonthString()) fmt.Println(carbon.Parse("2020-10-05").ToMonthString()) fmt.Println(carbon.Parse("2020-11-05").ToMonthString()) fmt.Println(carbon.Parse("2020-12-05").ToMonthString())
Output: January February March April May June July August September October November December
func (*Carbon) ToRfc1036String ¶
ToRfc1036String outputs a string in "Mon, 02 Jan 06 15:04:05 -0700" layout. 输出 "Mon, 02 Jan 06 15:04:05 -0700" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToRfc1036String()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToRfc1036String())
Output: Wed, 05 Aug 20 13:14:15 +0000 Wed, 05 Aug 20 00:00:00 +0800
func (*Carbon) ToRfc1123String ¶
ToRfc1123String outputs a string in "Mon, 02 Jan 2006 15:04:05 MST" layout. 输出 "Mon, 02 Jan 2006 15:04:05 MST" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToRfc1123String()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToRfc1123String())
Output: Wed, 05 Aug 2020 13:14:15 UTC Wed, 05 Aug 2020 00:00:00 CST
func (*Carbon) ToRfc1123zString ¶
ToRfc1123zString outputs a string in "Mon, 02 Jan 2006 15:04:05 -0700" layout. 输出 "Mon, 02 Jan 2006 15:04:05 -0700" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToRfc1123zString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToRfc1123zString())
Output: Wed, 05 Aug 2020 13:14:15 +0000 Wed, 05 Aug 2020 00:00:00 +0800
func (*Carbon) ToRfc2822String ¶
ToRfc2822String outputs a string in "Mon, 02 Jan 2006 15:04:05 -0700" layout. 输出 "Mon, 02 Jan 2006 15:04:05 -0700" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToRfc2822String()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToRfc2822String())
Output: Wed, 05 Aug 2020 13:14:15 +0000 Wed, 05 Aug 2020 00:00:00 +0800
func (*Carbon) ToRfc3339MicroString ¶
ToRfc3339MicroString outputs a string in "2006-01-02T15:04:05.999999Z07:00" layout. 输出 "2006-01-02T15:04:05.999999Z07:00" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToRfc3339MicroString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToRfc3339MicroString())
Output: 2020-08-05T13:14:15.999999Z 2020-08-05T00:00:00+08:00
func (*Carbon) ToRfc3339MilliString ¶
ToRfc3339MilliString outputs a string in "2006-01-02T15:04:05.999Z07:00" layout. 输出 "2006-01-02T15:04:05.999Z07:00" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToRfc3339MilliString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToRfc3339MilliString())
Output: 2020-08-05T13:14:15.999Z 2020-08-05T00:00:00+08:00
func (*Carbon) ToRfc3339NanoString ¶
ToRfc3339NanoString outputs a string in "2006-01-02T15:04:05.999999999Z07:00" layout. 输出 "2006-01-02T15:04:05.999999999Z07:00" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToRfc3339NanoString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToRfc3339NanoString())
Output: 2020-08-05T13:14:15.999999999Z 2020-08-05T00:00:00+08:00
func (*Carbon) ToRfc3339String ¶
ToRfc3339String outputs a string in "2006-01-02T15:04:05Z07:00" layout. 输出 "2006-01-02T15:04:05Z07:00" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToRfc3339String()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToRfc3339String())
Output: 2020-08-05T13:14:15Z 2020-08-05T00:00:00+08:00
func (*Carbon) ToRfc7231String ¶
ToRfc7231String outputs a string in "Mon, 02 Jan 2006 15:04:05 GMT" layout. 输出 "Mon, 02 Jan 2006 15:04:05 GMT" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToRfc7231String()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToRfc7231String())
Output: Wed, 05 Aug 2020 13:14:15 UTC Wed, 05 Aug 2020 00:00:00 CST
func (*Carbon) ToRfc822String ¶
ToRfc822String outputs a string in "02 Jan 06 15:04 MST" layout. 输出 "02 Jan 06 15:04 MST" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToRfc822String()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToRfc822String())
Output: 05 Aug 20 13:14 UTC 05 Aug 20 00:00 CST
func (*Carbon) ToRfc822zString ¶
ToRfc822zString outputs a string in "02 Jan 06 15:04 -0700" layout. 输出 "02 Jan 06 15:04 -0700" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToRfc822zString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToRfc822zString())
Output: 05 Aug 20 13:14 +0000 05 Aug 20 00:00 +0800
func (*Carbon) ToRfc850String ¶
ToRfc850String outputs a string in "Monday, 02-Jan-06 15:04:05 MST" layout. 输出 "Monday, 02-Jan-06 15:04:05 MST" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToRfc850String()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToRfc850String())
Output: Wednesday, 05-Aug-20 13:14:15 UTC Wednesday, 05-Aug-20 00:00:00 CST
func (*Carbon) ToRssString ¶
ToRssString outputs a string in "Mon, 02 Jan 2006 15:04:05 -0700" format. 输出 "Mon, 02 Jan 2006 15:04:05 -0700" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToRssString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToRssString())
Output: Wed, 05 Aug 2020 13:14:15 +0000 Wed, 05 Aug 2020 00:00:00 +0800
func (*Carbon) ToRubyDateString ¶
ToRubyDateString outputs a string in "Mon Jan 02 15:04:05 -0700 2006" layout. 输出 "Mon Jan 02 15:04:05 -0700 2006" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToRubyDateString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToRubyDateString())
Output: Wed Aug 05 13:14:15 +0000 2020 Wed Aug 05 00:00:00 +0800 2020
func (*Carbon) ToShortDateMicroString ¶
ToShortDateMicroString outputs a string in "20060102.999999" layout. 输出 "20060102.999999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToShortDateMicroString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToShortDateMicroString())
Output: 20200805.999999 20200805
func (*Carbon) ToShortDateMilliString ¶
ToShortDateMilliString outputs a string in "20060102.999" layout. 输出 "20060102.999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToShortDateMilliString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToShortDateMilliString())
Output: 20200805.999 20200805
func (*Carbon) ToShortDateNanoString ¶
ToShortDateNanoString outputs a string in "20060102.999999999" layout. 输出 "20060102.999999999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToShortDateNanoString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToShortDateNanoString())
Output: 20200805.999999999 20200805
func (*Carbon) ToShortDateString ¶
ToShortDateString outputs a string in "20060102" layout. 输出 "20060102" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToShortDateString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToShortDateString())
Output: 20200805 20200805
func (*Carbon) ToShortDateTimeMicroString ¶
ToShortDateTimeMicroString outputs a string in "20060102150405.999999" layout. 输出 "20060102150405.999999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToShortDateTimeMicroString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToShortDateTimeMicroString())
Output: 20200805131415.999999 20200805000000
func (*Carbon) ToShortDateTimeMilliString ¶
ToShortDateTimeMilliString outputs a string in "20060102150405.999" layout. 输出 "20060102150405.999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToShortDateTimeMilliString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToShortDateTimeMilliString())
Output: 20200805131415.999 20200805000000
func (*Carbon) ToShortDateTimeNanoString ¶
ToShortDateTimeNanoString outputs a string in "20060102150405.999999999" layout. 输出 "20060102150405.999999999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToShortDateTimeNanoString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToShortDateTimeNanoString())
Output: 20200805131415.999999999 20200805000000
func (*Carbon) ToShortDateTimeString ¶
ToShortDateTimeString outputs a string in "20060102150405" layout. 输出 "20060102150405" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToShortDateTimeString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToShortDateTimeString())
Output: 20200805131415 20200805000000
func (*Carbon) ToShortMonthString ¶
ToShortMonthString outputs a string in short month layout like "Jan", i18n is supported. 输出缩写月份字符串,支持 i18n
Example ¶
fmt.Println(carbon.Parse("2020-01-05").ToShortMonthString()) fmt.Println(carbon.Parse("2020-02-05").ToShortMonthString()) fmt.Println(carbon.Parse("2020-03-05").ToShortMonthString()) fmt.Println(carbon.Parse("2020-04-05").ToShortMonthString()) fmt.Println(carbon.Parse("2020-05-05").ToShortMonthString()) fmt.Println(carbon.Parse("2020-06-05").ToShortMonthString()) fmt.Println(carbon.Parse("2020-07-05").ToShortMonthString()) fmt.Println(carbon.Parse("2020-08-05").ToShortMonthString()) fmt.Println(carbon.Parse("2020-09-05").ToShortMonthString()) fmt.Println(carbon.Parse("2020-10-05").ToShortMonthString()) fmt.Println(carbon.Parse("2020-11-05").ToShortMonthString()) fmt.Println(carbon.Parse("2020-12-05").ToShortMonthString())
Output: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
func (*Carbon) ToShortTimeMicroString ¶
ToShortTimeMicroString outputs a string in "150405.999999" layout. 输出 "150405.999999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToShortTimeMicroString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToShortTimeMicroString())
Output: 131415.999999 000000
func (*Carbon) ToShortTimeMilliString ¶
ToShortTimeMilliString outputs a string in "150405.999" layout. 输出 "150405.999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToShortTimeMilliString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToShortTimeMilliString())
Output: 131415.999 000000
func (*Carbon) ToShortTimeNanoString ¶
ToShortTimeNanoString outputs a string in "150405.999999999" layout. 输出 "150405.999999999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToShortTimeNanoString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToShortTimeNanoString())
Output: 131415.999999999 000000
func (*Carbon) ToShortTimeString ¶
ToShortTimeString outputs a string in "150405" layout. 输出 "150405" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToShortTimeString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToShortTimeString())
Output: 131415 000000
func (*Carbon) ToShortWeekString ¶
ToShortWeekString outputs a string in short week layout like "Sun", i18n is supported. 输出缩写星期字符串,支持 i18n
Example ¶
fmt.Println(carbon.Parse("2020-08-01").ToShortWeekString()) fmt.Println(carbon.Parse("2020-08-02").ToShortWeekString()) fmt.Println(carbon.Parse("2020-08-03").ToShortWeekString()) fmt.Println(carbon.Parse("2020-08-04").ToShortWeekString()) fmt.Println(carbon.Parse("2020-08-05").ToShortWeekString()) fmt.Println(carbon.Parse("2020-08-06").ToShortWeekString()) fmt.Println(carbon.Parse("2020-08-07").ToShortWeekString())
Output: Sat Sun Mon Tue Wed Thu Fri
func (*Carbon) ToString ¶
ToString outputs a string in "2006-01-02 15:04:05.999999999 -0700 MST" layout. 输出 "2006-01-02 15:04:05.999999999 -0700 MST" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05 13:14:15").ToString()) fmt.Println(carbon.Parse("2020-08-05 13:14:15", carbon.PRC).ToString())
Output: 2020-08-05 13:14:15 +0000 UTC 2020-08-05 13:14:15 +0800 CST
func (*Carbon) ToTimeMicroString ¶
ToTimeMicroString outputs a string in "15:04:05.999999" layout. 输出 "15:04:05.999999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToTimeMicroString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToTimeMicroString())
Output: 13:14:15.999999 00:00:00
func (*Carbon) ToTimeMilliString ¶
ToTimeMilliString outputs a string in "15:04:05.999" layout. 输出 "15:04:05.999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToTimeMilliString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToTimeMilliString())
Output: 13:14:15.999 00:00:00
func (*Carbon) ToTimeNanoString ¶
ToTimeNanoString outputs a string in "15:04:05.999999999" layout. 输出 "15:04:05.999999999" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToTimeNanoString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToTimeNanoString())
Output: 13:14:15.999999999 00:00:00
func (*Carbon) ToTimeString ¶
ToTimeString outputs a string in "15:04:05" layout. 输出 "15:04:05" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToTimeString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToTimeString())
Output: 13:14:15 00:00:00
func (*Carbon) ToUnixDateString ¶
ToUnixDateString outputs a string in "Mon Jan _2 15:04:05 MST 2006" layout. 输出 "Mon Jan _2 15:04:05 MST 2006" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToUnixDateString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToUnixDateString())
Output: Wed Aug 5 13:14:15 UTC 2020 Wed Aug 5 00:00:00 CST 2020
func (*Carbon) ToW3cString ¶
ToW3cString outputs a string in "2006-01-02T15:04:05Z07:00" layout. 输出 "2006-01-02T15:04:05Z07:00" 格式字符串
Example ¶
fmt.Println(carbon.Parse("2020-08-05T13:14:15.999999999+00:00").ToW3cString()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ToW3cString())
Output: 2020-08-05T13:14:15Z 2020-08-05T00:00:00+08:00
func (*Carbon) ToWeekString ¶
ToWeekString outputs a string in week layout like "Sunday", i18n is supported. 输出完整星期字符串,支持 i18n
Example ¶
fmt.Println(carbon.Parse("2020-08-01").ToWeekString()) fmt.Println(carbon.Parse("2020-08-02").ToWeekString()) fmt.Println(carbon.Parse("2020-08-03").ToWeekString()) fmt.Println(carbon.Parse("2020-08-04").ToWeekString()) fmt.Println(carbon.Parse("2020-08-05").ToWeekString()) fmt.Println(carbon.Parse("2020-08-06").ToWeekString()) fmt.Println(carbon.Parse("2020-08-07").ToWeekString())
Output: Saturday Sunday Monday Tuesday Wednesday Thursday Friday
func (*Carbon) Week ¶
Week gets current week like 6, start from 0. 获取当前周(从0开始)
Example ¶
fmt.Println(carbon.Parse("2020-08-03").Week()) fmt.Println(carbon.Parse("2020-08-04").Week()) fmt.Println(carbon.Parse("2020-08-05").Week()) fmt.Println(carbon.Parse("2020-08-09").Week())
Output: 0 1 2 6
func (*Carbon) WeekEndsAt ¶ added in v2.6.3
WeekEndsAt returns end day of the week. 获取一周的结束日期
Example ¶
fmt.Println(carbon.Now().SetWeekStartsAt(carbon.Sunday).WeekEndsAt()) fmt.Println(carbon.Now().SetWeekStartsAt(carbon.Monday).WeekEndsAt())
Output: Saturday Sunday
func (*Carbon) WeekOfMonth ¶
WeekOfMonth gets week of month like 1. 获取本月的第几周
Example ¶
fmt.Println(carbon.Parse("2021-07-01").WeekOfMonth()) fmt.Println(carbon.Parse("2021-07-02").WeekOfMonth()) fmt.Println(carbon.Parse("2021-07-03").WeekOfMonth()) fmt.Println(carbon.Parse("2021-07-04").WeekOfMonth()) fmt.Println(carbon.Parse("2021-07-05").WeekOfMonth()) fmt.Println(carbon.Parse("2021-07-06").WeekOfMonth())
Output: 1 1 1 1 2 2
func (*Carbon) WeekOfYear ¶
WeekOfYear gets week of year like 1, refer to https://en.wikipedia.org/wiki/ISO_8601#Week_dates. 获取本年的第几周
Example ¶
fmt.Println(carbon.Parse("2021-01-01").WeekOfYear()) fmt.Println(carbon.Parse("2021-02-01").WeekOfYear()) fmt.Println(carbon.Parse("2021-03-01").WeekOfYear()) fmt.Println(carbon.Parse("2021-04-01").WeekOfYear())
Output: 53 5 9 13
func (*Carbon) WeekStartsAt ¶ added in v2.6.0
WeekStartsAt returns start day of the week. 获取一周的开始日期
Example ¶
fmt.Println(carbon.Now().SetWeekStartsAt(carbon.Sunday).WeekStartsAt()) fmt.Println(carbon.Now().SetWeekStartsAt(carbon.Monday).WeekStartsAt())
Output: Sunday Monday
func (*Carbon) Year ¶
Year gets current year like 2020. 获取当前年
Example ¶
fmt.Println(carbon.Parse("2010-08-05").Year()) fmt.Println(carbon.Parse("2011-08-05").Year()) fmt.Println(carbon.Parse("2020-08-05").Year()) fmt.Println(carbon.Parse("2021-08-05").Year())
Output: 2010 2011 2020 2021
func (*Carbon) ZoneName ¶ added in v2.6.0
ZoneName gets timezone name like "CST". 获取时区名称
Example ¶
fmt.Println(carbon.Now().ZoneName()) fmt.Println(carbon.Now(carbon.Tokyo).ZoneName()) fmt.Println(carbon.Now(carbon.PRC).ZoneName())
Output: UTC JST CST
func (*Carbon) ZoneOffset ¶ added in v2.6.0
ZoneOffset gets timezone offset seconds from the UTC timezone like 28800. 获取时区偏移量,单位秒
Example ¶
fmt.Println(carbon.Parse("2020-08-05").ZoneOffset()) fmt.Println(carbon.Parse("2020-08-05", carbon.Tokyo).ZoneOffset()) fmt.Println(carbon.Parse("2020-08-05", carbon.PRC).ZoneOffset())
Output: 0 32400 28800
type Date ¶
type Date string
Date defines a Date type. 定义 Date 字段类型
type DateMicro ¶
type DateMicro string
DateMicro defines a DateMicro type. 定义 DateMicro 字段类型
type DateMilli ¶
type DateMilli string
DateMilli defines a DateMilli type. 定义 DateMilli 字段类型
type DateNano ¶
type DateNano string
DateNano defines a DateNano type. 定义 DateNano 字段类型
type DateTime ¶
type DateTime string
DateTime defines a DateTime type. 定义 DateTime 字段类型
type DateTimeMicro ¶
type DateTimeMicro string
DateTimeMicro defines a DateTimeMicro type. 定义 DateTimeMicro 字段类型
func (DateTimeMicro) SetFormat ¶ added in v2.6.2
func (t DateTimeMicro) SetFormat() string
SetFormat implements FormatFactory interface for DateTimeMicro type. 实现 FormatFactory 接口
func (DateTimeMicro) SetLayout ¶ added in v2.6.2
func (t DateTimeMicro) SetLayout() string
SetLayout implements LayoutFactory interface for DateTimeMicro type. 实现 LayoutFactory 接口
type DateTimeMilli ¶
type DateTimeMilli string
DateTimeMilli defines a DateTimeMilli type. 定义 DateTimeMilli 字段类型
func (DateTimeMilli) SetFormat ¶ added in v2.6.2
func (t DateTimeMilli) SetFormat() string
SetFormat implements FormatFactory interface for DateTimeMilli type. 实现 FormatFactory 接口
func (DateTimeMilli) SetLayout ¶ added in v2.6.2
func (t DateTimeMilli) SetLayout() string
SetLayout implements LayoutFactory interface for DateTimeMilli type. 实现 LayoutFactory 接口
type DateTimeNano ¶
type DateTimeNano string
DateTimeNano defines a DateTimeNano type. 定义 DateTimeNano 字段类型
func (DateTimeNano) SetFormat ¶ added in v2.6.2
func (t DateTimeNano) SetFormat() string
SetFormat implements FormatFactory interface for DateTimeNano type. 实现 FormatFactory 接口
func (DateTimeNano) SetLayout ¶ added in v2.6.2
func (t DateTimeNano) SetLayout() string
SetLayout implements LayoutFactory interface for DateTimeNano type. 实现 LayoutFactory 接口
type Default ¶
type Default struct { Layout string Timezone string Locale string WeekStartsAt Weekday WeekendDays []Weekday }
Default defines a Default struct. 定义 Default 结构体
type Duration ¶ added in v2.6.3
func MaxDuration ¶ added in v2.6.2
func MaxDuration() Duration
MaxDuration returns the maximum duration value. 返回 Duration 的最大值
Example ¶
fmt.Println(carbon.MaxDuration().Seconds())
Output: 9.223372036854776e+09
func MinDuration ¶ added in v2.6.2
func MinDuration() Duration
MinDuration returns the minimum duration value. 返回 Duration 的最小值
Example ¶
fmt.Println(carbon.MinDuration().Seconds())
Output: -9.223372036854776e+09
type FormatFactory ¶ added in v2.6.1
FormatFactory defines a FormatFactory interface. 定义 FormatFactory 接口
type FormatType ¶ added in v2.6.0
type FormatType[T FormatFactory] struct { *Carbon }
FormatType defines a FormatType generic struct. 定义 FormatType 泛型结构体
func NewFormatType ¶ added in v2.6.0
func NewFormatType[T FormatFactory](carbon *Carbon) FormatType[T]
NewFormatType returns a new FormatType generic instance. 返回 FormatType 泛型实例
func (FormatType[T]) GormDataType ¶ added in v2.6.0
func (t FormatType[T]) GormDataType() string
GormDataType sets gorm data type for FormatType generic struct. 设置 gorm 数据类型
func (FormatType[T]) MarshalJSON ¶ added in v2.6.0
func (t FormatType[T]) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshal interface for FormatType generic struct. 实现 json.Marshaler 接口
Example ¶
//type RFC3339Format string // //func (RFC3339Format) SetFormat() string { // return carbon.RFC3339Format //} type User struct { Date carbon.FormatType[carbon.Date] `json:"date"` Time carbon.FormatType[carbon.Time] `json:"time"` DateTime carbon.FormatType[carbon.DateTime] `json:"date_time"` Customer carbon.FormatType[RFC3339Format] `json:"customer"` } var user User c := carbon.Parse("2020-08-05 13:14:15") user.Date = carbon.NewFormatType[carbon.Date](c) user.Time = carbon.NewFormatType[carbon.Time](c) user.DateTime = carbon.NewFormatType[carbon.DateTime](c) user.Customer = carbon.NewFormatType[RFC3339Format](c) data, _ := json.Marshal(&user) fmt.Printf("%s", data)
Output: {"date":"2020-08-05","time":"13:14:15","date_time":"2020-08-05 13:14:15","customer":"2020-08-05T13:14:15Z"}
func (*FormatType[T]) Scan ¶ added in v2.6.0
func (t *FormatType[T]) Scan(src any) error
Scan implements driver.Scanner interface for FormatType generic struct. 实现 driver.Scanner 接口
func (FormatType[T]) String ¶ added in v2.6.0
func (t FormatType[T]) String() string
String implements Stringer interface for FormatType generic struct. 实现 Stringer 接口
func (*FormatType[T]) UnmarshalJSON ¶ added in v2.6.0
func (t *FormatType[T]) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshal interface for FormatType generic struct. 实现 json.Unmarshaler 接口
Example ¶
//type RFC3339Format string // //func (RFC3339Format) SetFormat() string { // return carbon.RFC3339Format //} type User struct { Date carbon.FormatType[carbon.Date] `json:"date"` Time carbon.FormatType[carbon.Time] `json:"time"` DateTime carbon.FormatType[carbon.DateTime] `json:"date_time"` Customer carbon.FormatType[RFC3339Format] `json:"customer"` } var user User value := `{"date":"2020-08-05","time":"13:14:15","date_time":"2020-08-05 13:14:15","customer":"2020-08-05T13:14:15Z"}` _ = json.Unmarshal([]byte(value), &user) fmt.Println(user.Date.String()) fmt.Println(user.Time.String()) fmt.Println(user.DateTime.String()) fmt.Println(user.Customer.String())
Output: 2020-08-05 13:14:15 2020-08-05 13:14:15 2020-08-05T13:14:15Z
type FrozenNow ¶ added in v2.6.3
type FrozenNow struct {
// contains filtered or unexported fields
}
FrozenNow defines a FrozenNow struct. 定义 FrozenNow 结构体
type Language ¶
type Language struct { Error error // contains filtered or unexported fields }
Language defines a Language struct. 定义 Language 结构体
func NewLanguage ¶
func NewLanguage() *Language
NewLanguage returns a new Language instance. 初始化 Language 结构体
func (*Language) SetLocale ¶
SetLocale sets language locale. 设置区域
Example ¶
lang := carbon.NewLanguage() lang.SetLocale("en") fmt.Printf("en:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang).Constellation()) fmt.Printf("en:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang).Season()) fmt.Printf("en:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang).DiffForHumans(carbon.Parse("2024-08-05"))) fmt.Printf("en:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang).ToMonthString()) fmt.Printf("en:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang).ToShortMonthString()) fmt.Printf("en:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang).ToWeekString()) fmt.Printf("en:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang).ToShortWeekString()) lang.SetLocale("zh-CN") fmt.Printf("zh-CN:%s\n", carbon.Parse("2020-08-05", carbon.PRC).SetLanguage(lang).Constellation()) fmt.Printf("zh-CN:%s\n", carbon.Parse("2020-08-05", carbon.PRC).SetLanguage(lang).Season()) fmt.Printf("zh-CN:%s\n", carbon.Parse("2020-08-05", carbon.PRC).SetLanguage(lang).DiffForHumans(carbon.Parse("2024-08-05"))) fmt.Printf("zh-CN:%s\n", carbon.Parse("2020-08-05", carbon.PRC).SetLanguage(lang).ToMonthString()) fmt.Printf("zh-CN:%s\n", carbon.Parse("2020-08-05", carbon.PRC).SetLanguage(lang).ToShortMonthString()) fmt.Printf("zh-CN:%s\n", carbon.Parse("2020-08-05", carbon.PRC).SetLanguage(lang).ToWeekString()) fmt.Printf("zh-CN:%s\n", carbon.Parse("2020-08-05", carbon.PRC).SetLanguage(lang).ToShortWeekString())
Output: en:Leo en:Summer en:4 years before en:August en:Aug en:Wednesday en:Wed zh-CN:狮子座 zh-CN:夏季 zh-CN:4 年前 zh-CN:八月 zh-CN:8月 zh-CN:星期三 zh-CN:周三
func (*Language) SetResources ¶
SetResources sets language resources. 设置资源
Example ¶
resources1 := map[string]string{ "months": "Ⅰ月|Ⅱ月|Ⅲ月|Ⅳ月|Ⅴ月|Ⅵ月|Ⅶ月|Ⅷ月|Ⅸ月|Ⅹ月|Ⅺ月|Ⅻ月", "short_months": "Ⅰ|Ⅱ|Ⅲ|Ⅳ|Ⅴ|Ⅵ|Ⅶ|Ⅷ|Ⅸ|Ⅹ|Ⅺ|Ⅻ", } lang1 := carbon.NewLanguage() lang1.SetLocale("en").SetResources(resources1) fmt.Printf("lang1:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang1).Constellation()) fmt.Printf("lang1:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang1).Season()) fmt.Printf("lang1:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang1).DiffForHumans(carbon.Parse("2024-08-05"))) fmt.Printf("lang1:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang1).ToMonthString()) fmt.Printf("lang1:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang1).ToShortMonthString()) fmt.Printf("lang1:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang1).ToWeekString()) fmt.Printf("lang1:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang1).ToShortWeekString()) resources2 := map[string]string{ "constellations": "Aries|Taurus|Gemini|Cancer|Leo|Virgo|Libra|Scorpio|Sagittarius|Capricorn|Aquarius|Pisces", "seasons": "spring|summer|autumn|winter", "months": "January|February|March|April|May|June|July|August|September|October|November|December", "short_months": "Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec", "weeks": "Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday", "short_weeks": "Sun|Mon|Tue|Wed|Thu|Fri|Sat", "year": "1 yr|%d yrs", "month": "1 mo|%d mos", "week": "%dw", "day": "%dd", "hour": "%dh", "minute": "%dm", "second": "%ds", "now": "just now", "ago": "%s ago", "from_now": "in %s", "before": "%s before", "after": "%s after", } lang2 := carbon.NewLanguage() lang2.SetResources(resources2) fmt.Printf("lang2:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang2).Constellation()) fmt.Printf("lang2:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang2).Season()) fmt.Printf("lang2:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang2).DiffForHumans(carbon.Parse("2024-08-05"))) fmt.Printf("lang2:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang2).ToMonthString()) fmt.Printf("lang2:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang2).ToShortMonthString()) fmt.Printf("lang2:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang2).ToWeekString()) fmt.Printf("lang2:%s\n", carbon.Parse("2020-08-05").SetLanguage(lang2).ToShortWeekString())
Output: lang1:Leo lang1:Summer lang1:4 years before lang1:Ⅷ月 lang1:Ⅷ lang1:Wednesday lang1:Wed lang2:Leo lang2:summer lang2:4 yrs before lang2:August lang2:Aug lang2:Wednesday lang2:Wed
type LayoutFactory ¶ added in v2.6.1
LayoutFactory defines a LayoutFactory interface 定义 LayoutFactory 接口
type LayoutType ¶ added in v2.6.0
type LayoutType[T LayoutFactory] struct { *Carbon }
LayoutType defines a LayoutType generic struct 定义 LayoutType 泛型结构体
func NewLayoutType ¶ added in v2.6.0
func NewLayoutType[T LayoutFactory](carbon *Carbon) LayoutType[T]
NewLayoutType returns a new LayoutType generic instance. 返回 LayoutType 泛型实例
func (LayoutType[T]) GormDataType ¶ added in v2.6.0
func (t LayoutType[T]) GormDataType() string
GormDataType sets gorm data type for LayoutType generic struct. 设置 gorm 数据类型
func (LayoutType[T]) MarshalJSON ¶ added in v2.6.0
func (t LayoutType[T]) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshal interface for LayoutType generic struct. 实现 json.Marshaler 接口
Example ¶
//type W3cLayout string // //func (W3cLayout) SetLayout() string { // return carbon.W3cLayout //} type User struct { Date carbon.LayoutType[carbon.Date] `json:"date"` Time carbon.LayoutType[carbon.Time] `json:"time"` DateTime carbon.LayoutType[carbon.DateTime] `json:"date_time"` Customer carbon.LayoutType[W3cLayout] `json:"customer"` } var user User c := carbon.Parse("2020-08-05 13:14:15") user.Date = carbon.NewLayoutType[carbon.Date](c) user.Time = carbon.NewLayoutType[carbon.Time](c) user.DateTime = carbon.NewLayoutType[carbon.DateTime](c) user.Customer = carbon.NewLayoutType[W3cLayout](c) data, _ := json.Marshal(&user) fmt.Printf("%s", data)
Output: {"date":"2020-08-05","time":"13:14:15","date_time":"2020-08-05 13:14:15","customer":"2020-08-05T13:14:15Z"}
func (*LayoutType[T]) Scan ¶ added in v2.6.0
func (t *LayoutType[T]) Scan(src any) error
Scan implements driver.Scanner interface for LayoutType generic struct. 实现 driver.Scanner 接口
func (LayoutType[T]) String ¶ added in v2.6.0
func (t LayoutType[T]) String() string
String implements Stringer interface for LayoutType generic struct. 实现 Stringer 接口
func (*LayoutType[T]) UnmarshalJSON ¶ added in v2.6.0
func (t *LayoutType[T]) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshal interface for LayoutType generic struct. 实现 json.Unmarshaler 接口
Example ¶
//type W3cLayout string // //func (W3cLayout) SetLayout() string { // return carbon.W3cLayout //} type User struct { Date carbon.LayoutType[carbon.Date] `json:"date"` Time carbon.LayoutType[carbon.Time] `json:"time"` DateTime carbon.LayoutType[carbon.DateTime] `json:"date_time"` Customer carbon.LayoutType[W3cLayout] `json:"customer"` } var user User value := `{"date":"2020-08-05","time":"13:14:15","date_time":"2020-08-05 13:14:15","customer":"2020-08-05T13:14:15Z"}` _ = json.Unmarshal([]byte(value), &user) fmt.Println(user.Date.String()) fmt.Println(user.Time.String()) fmt.Println(user.DateTime.String()) fmt.Println(user.Customer.String())
Output: 2020-08-05 13:14:15 2020-08-05 13:14:15 2020-08-05T13:14:15Z
type Time ¶
type Time string
Time defines a Time struct. 定义 Time 字段类型
type TimeMicro ¶
type TimeMicro string
TimeMicro defines a TimeMicro type. 定义 TimeMicro 字段类型
type TimeMilli ¶
type TimeMilli string
TimeMilli defines a TimeMilli type. 定义 TimeMilli 字段类型
type TimeNano ¶
type TimeNano string
TimeNano defines a TimeNano type. 定义 TimeNano 字段类型
type Timestamp ¶
type Timestamp int64
Timestamp defines a Timestamp type. 定义 Timestamp 字段类型
func (Timestamp) SetPrecision ¶ added in v2.6.0
SetPrecision implements TimestampFactory interface for Timestamp type. 实现 TimestampFactory 接口
type TimestampFactory ¶ added in v2.6.1
TimestampFactory defines a TimestampFactory interface. 定义 TimestampFactory 接口
type TimestampMicro ¶
type TimestampMicro int64
TimestampMicro defines a TimestampMicro type. 定义 TimestampMicro 字段类型
func (TimestampMicro) SetPrecision ¶ added in v2.6.0
func (t TimestampMicro) SetPrecision() int64
SetPrecision implements TimestampFactory interface for TimestampMicro type. 实现 TimestampFactory 接口
type TimestampMilli ¶
type TimestampMilli int64
TimestampMilli defines a TimestampMilli type. 定义 TimestampMilli 字段类型
func (TimestampMilli) SetPrecision ¶ added in v2.6.0
func (t TimestampMilli) SetPrecision() int64
SetPrecision implements TimestampFactory interface for TimestampMilli type. 实现 TimestampFactory 接口
type TimestampNano ¶
type TimestampNano int64
TimestampNano defines a TimestampNano type. 定义 TimestampNano 字段类型
func (TimestampNano) SetPrecision ¶ added in v2.6.0
func (t TimestampNano) SetPrecision() int64
SetPrecision implements TimestampFactory interface for TimestampNano type. 实现 TimestampFactory 接口
type TimestampType ¶ added in v2.6.0
type TimestampType[T TimestampFactory] struct { *Carbon }
TimestampType defines a TimestampType generic struct. 定义 TimestampType 泛型结构体
func NewTimestampType ¶ added in v2.6.0
func NewTimestampType[T TimestampFactory](carbon *Carbon) TimestampType[T]
NewTimestampType returns a new TimestampType generic instance. 返回 TimestampType 泛型实例
func (TimestampType[T]) GormDataType ¶ added in v2.6.0
func (t TimestampType[T]) GormDataType() string
GormDataType sets gorm data type for TimestampType generic struct. 设置 gorm 数据类型
func (TimestampType[T]) Int64 ¶ added in v2.6.0
func (t TimestampType[T]) Int64() int64
Int64 returns the timestamp value. 返回时间戳
func (TimestampType[T]) MarshalJSON ¶ added in v2.6.0
func (t TimestampType[T]) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshal interface for TimestampType generic struct. 实现 json.Marshaler 接口
Example ¶
type User struct { Timestamp carbon.TimestampType[carbon.Timestamp] `json:"timestamp"` TimestampMilli carbon.TimestampType[carbon.TimestampMilli] `json:"timestamp_milli"` TimestampMicro carbon.TimestampType[carbon.TimestampMicro] `json:"timestamp_micro"` TimestampNano carbon.TimestampType[carbon.TimestampNano] `json:"timestamp_nano"` } var user User c := carbon.Parse("2020-08-05 13:14:15") user.Timestamp = carbon.NewTimestampType[carbon.Timestamp](c) user.TimestampMilli = carbon.NewTimestampType[carbon.TimestampMilli](c) user.TimestampMicro = carbon.NewTimestampType[carbon.TimestampMicro](c) user.TimestampNano = carbon.NewTimestampType[carbon.TimestampNano](c) data, _ := json.Marshal(&user) fmt.Printf("%s", data)
Output: {"timestamp":1596633255,"timestamp_milli":1596633255000,"timestamp_micro":1596633255000000,"timestamp_nano":1596633255000000000}
func (*TimestampType[T]) Scan ¶ added in v2.6.0
func (t *TimestampType[T]) Scan(src any) (err error)
Scan implements driver.Scanner interface for TimestampType generic struct. 实现 driver.Scanner 接口
func (TimestampType[T]) String ¶ added in v2.6.0
func (t TimestampType[T]) String() string
String implements Stringer interface for TimestampType generic struct. 实现 Stringer 接口
func (*TimestampType[T]) UnmarshalJSON ¶ added in v2.6.0
func (t *TimestampType[T]) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshal interface for TimestampType generic struct. 实现 json.Unmarshaler 接口
Example ¶
type User struct { Timestamp carbon.TimestampType[carbon.Timestamp] `json:"timestamp"` TimestampMilli carbon.TimestampType[carbon.TimestampMilli] `json:"timestamp_milli"` TimestampMicro carbon.TimestampType[carbon.TimestampMicro] `json:"timestamp_micro"` TimestampNano carbon.TimestampType[carbon.TimestampNano] `json:"timestamp_nano"` } var user User value := `{"timestamp":1596633255,"timestamp_milli":1596633255000,"timestamp_micro":1596633255000000,"timestamp_nano":1596633255000000000}` _ = json.Unmarshal([]byte(value), &user) fmt.Printf("string(%s)\n", user.Timestamp.String()) fmt.Printf("string(%s)\n", user.TimestampMilli.String()) fmt.Printf("string(%s)\n", user.TimestampMicro.String()) fmt.Printf("string(%s)\n", user.TimestampNano.String()) fmt.Printf("int64(%d)\n", user.Timestamp.Int64()) fmt.Printf("int64(%d)\n", user.TimestampMilli.Int64()) fmt.Printf("int64(%d)\n", user.TimestampMicro.Int64()) fmt.Printf("int64(%d)\n", user.TimestampNano.Int64())
Output: string(1596633255) string(1596633255000) string(1596633255000000) string(1596633255000000000) int64(1596633255) int64(1596633255000) int64(1596633255000000) int64(1596633255000000000)
Source Files
¶
Directories
¶
Path | Synopsis |
---|---|
Package calendar is part of the carbon package.
|
Package calendar is part of the carbon package. |
julian
Package julian is part of the carbon package.
|
Package julian is part of the carbon package. |
lunar
Package lunar is part of the carbon package.
|
Package lunar is part of the carbon package. |
persian
Package persian is part of the carbon package.
|
Package persian is part of the carbon package. |