Documentation ¶
Overview ¶
Package time provides time module for measuring and displaying time for Charlang script language. It wraps Go's time package functionalities. Note that: Charlang's int values are converted to Go's time.Duration values.
Index ¶
- Variables
- type Location
- type Time
- func (o *Time) BinaryOp(tok token.Token, right charlang.Object) (charlang.Object, error)
- func (*Time) Call(args ...charlang.Object) (charlang.Object, error)
- func (o *Time) CallName(name string, c charlang.Call) (charlang.Object, error)
- func (*Time) CanCall() bool
- func (*Time) CanIterate() bool
- func (o *Time) Equal(right charlang.Object) bool
- func (o *Time) IndexGet(index charlang.Object) (charlang.Object, error)
- func (*Time) IndexSet(_, _ charlang.Object) error
- func (o *Time) IsFalsy() bool
- func (*Time) Iterate() charlang.Iterator
- func (o *Time) MarshalBinary() ([]byte, error)
- func (o *Time) MarshalJSON() ([]byte, error)
- func (o *Time) String() string
- func (*Time) TypeName() string
- func (o *Time) UnmarshalBinary(data []byte) error
- func (o *Time) UnmarshalJSON(data []byte) error
Constants ¶
This section is empty.
Variables ¶
var Module = map[string]charlang.Object{ "January": charlang.Int(time.January), "February": charlang.Int(time.February), "March": charlang.Int(time.March), "April": charlang.Int(time.April), "May": charlang.Int(time.May), "June": charlang.Int(time.June), "July": charlang.Int(time.July), "August": charlang.Int(time.August), "September": charlang.Int(time.September), "October": charlang.Int(time.October), "November": charlang.Int(time.November), "December": charlang.Int(time.December), "Sunday": charlang.Int(time.Sunday), "Monday": charlang.Int(time.Monday), "Tuesday": charlang.Int(time.Tuesday), "Wednesday": charlang.Int(time.Wednesday), "Thursday": charlang.Int(time.Thursday), "Friday": charlang.Int(time.Friday), "Saturday": charlang.Int(time.Saturday), "ANSIC": charlang.String(time.ANSIC), "UnixDate": charlang.String(time.UnixDate), "RubyDate": charlang.String(time.RubyDate), "RFC822": charlang.String(time.RFC822), "RFC822Z": charlang.String(time.RFC822Z), "RFC850": charlang.String(time.RFC850), "RFC1123": charlang.String(time.RFC1123), "RFC1123Z": charlang.String(time.RFC1123Z), "RFC3339": charlang.String(time.RFC3339), "RFC3339Nano": charlang.String(time.RFC3339Nano), "Kitchen": charlang.String(time.Kitchen), "Stamp": charlang.String(time.Stamp), "StampMilli": charlang.String(time.StampMilli), "StampMicro": charlang.String(time.StampMicro), "StampNano": charlang.String(time.StampNano), "Nanosecond": charlang.Int(time.Nanosecond), "Microsecond": charlang.Int(time.Microsecond), "Millisecond": charlang.Int(time.Millisecond), "Second": charlang.Int(time.Second), "Minute": charlang.Int(time.Minute), "Hour": charlang.Int(time.Hour), "UTC": &charlang.Function{ Name: "UTC", Value: stdlib.FuncPRO(utcFunc), ValueEx: stdlib.FuncPROEx(utcFunc), }, "Local": &charlang.Function{ Name: "Local", Value: stdlib.FuncPRO(localFunc), ValueEx: stdlib.FuncPROEx(localFunc), }, "MonthString": &charlang.Function{ Name: "MonthString", Value: stdlib.FuncPiRO(monthStringFunc), ValueEx: stdlib.FuncPiROEx(monthStringFunc), }, "WeekdayString": &charlang.Function{ Name: "WeekdayString", Value: stdlib.FuncPiRO(weekdayStringFunc), ValueEx: stdlib.FuncPiROEx(weekdayStringFunc), }, "DurationString": &charlang.Function{ Name: "DurationString", Value: stdlib.FuncPi64RO(durationStringFunc), ValueEx: stdlib.FuncPi64ROEx(durationStringFunc), }, "DurationNanoseconds": &charlang.Function{ Name: "DurationNanoseconds", Value: stdlib.FuncPi64RO(durationNanosecondsFunc), ValueEx: stdlib.FuncPi64ROEx(durationNanosecondsFunc), }, "DurationMicroseconds": &charlang.Function{ Name: "DurationMicroseconds", Value: stdlib.FuncPi64RO(durationMicrosecondsFunc), ValueEx: stdlib.FuncPi64ROEx(durationMicrosecondsFunc), }, "DurationMilliseconds": &charlang.Function{ Name: "DurationMilliseconds", Value: stdlib.FuncPi64RO(durationMillisecondsFunc), ValueEx: stdlib.FuncPi64ROEx(durationMillisecondsFunc), }, "DurationSeconds": &charlang.Function{ Name: "DurationSeconds", Value: stdlib.FuncPi64RO(durationSecondsFunc), ValueEx: stdlib.FuncPi64ROEx(durationSecondsFunc), }, "DurationMinutes": &charlang.Function{ Name: "DurationMinutes", Value: stdlib.FuncPi64RO(durationMinutesFunc), ValueEx: stdlib.FuncPi64ROEx(durationMinutesFunc), }, "DurationHours": &charlang.Function{ Name: "DurationHours", Value: stdlib.FuncPi64RO(durationHoursFunc), ValueEx: stdlib.FuncPi64ROEx(durationHoursFunc), }, "Sleep": &charlang.Function{ Name: "Sleep", Value: stdlib.FuncPi64R(func(duration int64) { time.Sleep(time.Duration(duration)) }), ValueEx: sleepFunc, }, "ParseDuration": &charlang.Function{ Name: "ParseDuration", Value: stdlib.FuncPsROe(parseDurationFunc), ValueEx: stdlib.FuncPsROeEx(parseDurationFunc), }, "DurationRound": &charlang.Function{ Name: "DurationRound", Value: stdlib.FuncPi64i64RO(durationRoundFunc), ValueEx: stdlib.FuncPi64i64ROEx(durationRoundFunc), }, "DurationTruncate": &charlang.Function{ Name: "DurationTruncate", Value: stdlib.FuncPi64i64RO(durationTruncateFunc), ValueEx: stdlib.FuncPi64i64ROEx(durationTruncateFunc), }, "FixedZone": &charlang.Function{ Name: "FixedZone", Value: stdlib.FuncPsiRO(fixedZoneFunc), ValueEx: stdlib.FuncPsiROEx(fixedZoneFunc), }, "LoadLocation": &charlang.Function{ Name: "LoadLocation", Value: stdlib.FuncPsROe(loadLocationFunc), ValueEx: stdlib.FuncPsROeEx(loadLocationFunc), }, "IsLocation": &charlang.Function{ Name: "IsLocation", Value: stdlib.FuncPORO(isLocationFunc), ValueEx: stdlib.FuncPOROEx(isLocationFunc), }, "Time": &charlang.Function{ Name: "Time", Value: stdlib.FuncPRO(zerotimeFunc), ValueEx: stdlib.FuncPROEx(zerotimeFunc), }, "Since": &charlang.Function{ Name: "Since", Value: funcPTRO(sinceFunc), ValueEx: funcPTROEx(sinceFunc), }, "Until": &charlang.Function{ Name: "Until", Value: funcPTRO(untilFunc), ValueEx: funcPTROEx(untilFunc), }, "Date": &charlang.Function{ Name: "Date", Value: dateFunc, ValueEx: dateFuncEx, }, "Now": &charlang.Function{ Name: "Now", Value: stdlib.FuncPRO(nowFunc), ValueEx: stdlib.FuncPROEx(nowFunc), }, "Parse": &charlang.Function{ Name: "Parse", Value: parseFunc, ValueEx: parseFuncEx, }, "Unix": &charlang.Function{ Name: "Unix", Value: unixFunc, ValueEx: unixFuncEx, }, "Add": &charlang.Function{ Name: "Add", Value: funcPTi64RO(timeAdd), }, "Sub": &charlang.Function{ Name: "Sub", Value: funcPTTRO(timeSub), }, "AddDate": &charlang.Function{ Name: "AddDate", Value: funcPTiiiRO(timeAddDate), }, "After": &charlang.Function{ Name: "After", Value: funcPTTRO(timeAfter), }, "Before": &charlang.Function{ Name: "Before", Value: funcPTTRO(timeBefore), }, "Format": &charlang.Function{ Name: "Format", Value: funcPTsRO(timeFormat), }, "AppendFormat": &charlang.Function{ Name: "AppendFormat", Value: funcPTb2sRO(timeAppendFormat), }, "In": &charlang.Function{ Name: "In", Value: funcPTLRO(timeIn), }, "Round": &charlang.Function{ Name: "Round", Value: funcPTi64RO(timeRound), }, "Truncate": &charlang.Function{ Name: "Truncate", Value: funcPTi64RO(timeTruncate), }, "IsTime": &charlang.Function{ Name: "IsTime", Value: stdlib.FuncPORO(isTimeFunc), ValueEx: stdlib.FuncPOROEx(isTimeFunc), }, }
Module represents time module.
Functions ¶
This section is empty.
Types ¶
type Location ¶
type Location struct { charlang.ObjectImpl Value *time.Location }
Location represents location values and implements charlang.Object interface.
func ToLocation ¶
ToLocation will try to convert given charlang.Object to *Location value.
type Time ¶
Time represents time values and implements charlang.Object interface.
func (*Time) CanIterate ¶
CanIterate implements charlang.Object interface.
func (*Time) MarshalBinary ¶
MarshalBinary implements encoding.BinaryMarshaler interface.
func (*Time) MarshalJSON ¶
MarshalJSON implements json.JSONMarshaler interface.
func (*Time) UnmarshalBinary ¶
UnmarshalBinary implements encoding.BinaryUnmarshaler interface.
func (*Time) UnmarshalJSON ¶
UnmarshalJSON implements json.JSONUnmarshaler interface.