go 패키지 학습 - time

7267 단어
패키지 타임은 시간을 측정하고 표시하는 능력을 제공합니다.

Index

  • Constants
  • func After(d Duration) <-chan Time
  • func Sleep(d Duration)
  • func Tick(d Duration) <-chan Time
  • type Duration
  • func ParseDuration(s string) (Duration, error)
  • func Since(t Time) Duration
  • func (d Duration) Hours() float64
  • func (d Duration) Minutes() float64
  • func (d Duration) Nanoseconds() int64
  • func (d Duration) Seconds() float64
  • func (d Duration) String() string

  • type Location
  • func FixedZone(name string, offset int) *Location
  • func LoadLocation(name string) (*Location, error)
  • func (l *Location) String() string

  • type Month
  • func (m Month) String() string

  • type ParseError
  • func (e *ParseError) Error() string

  • type Ticker
  • func NewTicker(d Duration) *Ticker
  • func (t *Ticker) Stop()

  • type Time
  • func Date(year int, month Month, day, hour, min, sec, nsec int, loc *Location) Time
  • func Now() Time
  • func Parse(layout, value string) (Time, error)
  • func ParseInLocation(layout, value string, loc *Location) (Time, error)
  • func Unix(sec int64, nsec int64) Time
  • func (t Time) Add(d Duration) Time
  • func (t Time) AddDate(years int, months int, days int) Time
  • func (t Time) After(u Time) bool
  • func (t Time) Before(u Time) bool
  • func (t Time) Clock() (hour, min, sec int)
  • func (t Time) Date() (year int, month Month, day int)
  • func (t Time) Day() int
  • func (t Time) Equal(u Time) bool
  • func (t Time) Format(layout string) string
  • func (t *Time) GobDecode(buf []byte) error
  • func (t Time) GobEncode() ([]byte, error)
  • func (t Time) Hour() int
  • func (t Time) ISOWeek() (year, week int)
  • func (t Time) In(loc *Location) Time
  • func (t Time) IsZero() bool
  • func (t Time) Local() Time
  • func (t Time) Location() *Location
  • func (t Time) MarshalJSON() ([]byte, error)
  • func (t Time) Minute() int
  • func (t Time) Month() Month
  • func (t Time) Nanosecond() int
  • func (t Time) Round(d Duration) Time
  • func (t Time) Second() int
  • func (t Time) String() string
  • func (t Time) Sub(u Time) Duration
  • func (t Time) Truncate(d Duration) Time
  • func (t Time) UTC() Time
  • func (t Time) Unix() int64
  • func (t Time) UnixNano() int64
  • func (t *Time) UnmarshalJSON(data []byte) (err error)
  • func (t Time) Weekday() Weekday
  • func (t Time) Year() int
  • func (t Time) YearDay() int
  • func (t Time) Zone() (name string, offset int)

  • type Timer
  • func AfterFunc(d Duration, f func()) *Timer
  • func NewTimer(d Duration) *Timer
  • func (t *Timer) Reset(d Duration) bool
  • func (t *Timer) Stop() bool

  • type Weekday
  • func (d Weekday) String() string


  • Examples

  • After
  • Date
  • Duration
  • Month
  • Parse
  • ParseInLocation
  • Sleep
  • Tick
  • Time.Format
  • Time.Round
  • Time.Truncate

  • Package Files


    format.go sleep.go sys_unix.go tick.go time.go zoneinfo.go zoneinfo_read.go zoneinfo_unix.go
    1. 기본 함수

    func After

    func After(d Duration) <-chan Time
    d시간 간격을 기다린 후 채널로 현재 시간을 보냅니다.및 NewTimer(d).C 등효.사례는 다음과 같습니다.
    select {
    case m := <-c:
        handle(m)
    case <-time.After(5 * time.Minute):
        fmt.Println("timed out")
    }
    주로 시간 초과 처리로 자물쇠가 사라지지 않도록 한다.

    func Sleep

    func Sleep(d Duration)
    현재goroutine, d시간 간격을 끊습니다.
    time.Sleep(100 * time.Millisecond)

    func Tick

    func Tick(d Duration) <-chan Time
    Tick은 New Ticker의 봉인으로 ticking channel에 접근하는 데만 사용됩니다.사용자는ticker를 닫을 필요가 없습니다.예:
    c := time.Tick(1 * time.Minute)
    for now := range c {
        fmt.Printf("%v %s
    ", now, statusUpdate()) }
    2. type Duration

    type Duration

    type Duration int64
    Duration은 두 개의 나초 시간 표기 사이의 간격으로 가장 큰 간격은 290년이다.
    const (
        Nanosecond  Duration = 1
        Microsecond          = 1000 * Nanosecond
        Millisecond          = 1000 * Microsecond
        Second               = 1000 * Millisecond
        Minute               = 60 * Second
        Hour                 = 60 * Minute
    )
    위의 상량은 모두 자주 사용하는duration입니다. 기억해야 합니다.
    하나의 정수를 하나의duration으로 바꾸려면 다음과 같이 해야 한다.
    seconds := 10
    fmt.Print(time.Duration(seconds)*time.Second) // prints 10s
    경과 시간 간격을 계산하는 예는 다음과 같습니다. 이 예는 매우 일반적입니다.
    t0 := time.Now()
    expensiveCall()
    t1 := time.Now()
    fmt.Printf("The call took %v to run.
    ", t1.Sub(t0))

    func Since

    func Since(t Time) Duration
    Since는 시간 t에서 시작된 이미 흐르는 시간을 되돌려줍니다. 이것은 시간입니다.Now().Sub(t)의 농축 버전입니다.
    3. type Month

    type Month

    type Month int
    const (
        January Month = 1 + iota
        February
        March
        April
        May
        June
        July
        August
        September
        October
        November
        December
    )
    그 작법을 주의해라.
    4. type Ticker

    type Ticker

    type Ticker struct {
        C <-chan Time // The channel on which the ticks are delivered.
        // contains filtered or unexported fields
    }
    Ticker는 채널을 포함하고 이 채널은 고정된 간격으로 ticks를 보냅니다.

    func NewTicker

    func NewTicker(d Duration) *Ticker
    Ticker를 되돌려줍니다. 이 Ticker는 채널이 있습니다. 이 채널은 지정한duration 발송 시간을 제공합니다.duration d는 0보다 커야 합니다.

    func (*Ticker) Stop

    func (t *Ticker) Stop()
    해당 Ticker를 닫는 데 사용되지만 채널을 닫지 않습니다.
    5. type Time

    type Time

    type Time struct {      // contains filtered or unexported fields }
    시간은 나초로 한 시간을 표시한다.프로그램은 포인터, 즉time가 아니라 시간 값을 저장하거나 전달해야 한다.*time이 아닌 시간.Time.
    6. type Timer

    type Timer

    type Timer struct {
        C <-chan Time
        // contains filtered or unexported fields
    }
    Timer type은 이벤트를 대표합니다. AfterFunc에서 만든 Timer가 아니라면, Timer가 만료되면 현재 시간은 C로 발송됩니다.

    func AfterFunc

    func AfterFunc(d Duration, f func()) *Timer
    AfterFunc는duration이 다 소모될 때까지 기다린 후 현재goroutine에서 f 함수를 호출합니다.이것은 이 Timer의 Stop 방법을 이용하여 f 함수 호출을 취소할 수 있는 Timer를 되돌려줍니다.

    좋은 웹페이지 즐겨찾기