import "time"
時間の計測と表示機能を提供します。
パッケージファイル
format.go sleep.go tick.go time.go zoneinfo.go zoneinfo_unix.go zoneinfo_windows.go
定数
曜日
const (
Sunday = iota
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
)
このパッケージには、Time.Formatで使用するためのレイアウトがあらかじめ用意されています。このレイアウトには次の「標準時」が使われます。
Mon Jan 2 15:04:05 MST 2006 (MST is GMT-0700)
この標準時はUnix時間1136243045です。(2006/01/02 03:04:05PM -0700となります) アンダースコア(_)はスペースを表し、それに続く数(日)が2桁のときは数字に置き換わります。これは固定幅のUnix時刻フォーマットと互換性があります。
数値によるタイムゾーンオフセットのフォーマットは、次のようになります。
-0700 ±hhmm -07:00 ±hh:mm
UTCタイムゾーンでこのフォーマットの符号を「Z」に置き換えると、オフセットの代わりにZを使うISO 8601形式になり、次のようになります。
Z0700 Z or ±hhmm Z07:00 Z or ±hh:mm
const (
ANSIC = "Mon Jan _2 15:04:05 2006"
UnixDate = "Mon Jan _2 15:04:05 MST 2006"
RubyDate = "Mon Jan 02 15:04:05 -0700 2006"
RFC822 = "02 Jan 06 1504 MST"
// RFC822 with Zulu time.
RFC822Z = "02 Jan 06 1504 -0700"
RFC850 = "Monday, 02-Jan-06 15:04:05 MST"
RFC1123 = "Mon, 02 Jan 2006 15:04:05 MST"
Kitchen = "3:04PM"
RFC3339 = "2006-01-02T15:04:05Z07:00"
)
Nanoseconds関数
func Nanoseconds() int64
Nanosecondsは、Unix標準時間である「1970/01/01 00:00:00 UTC」からの経過ナノ秒数を返します。
Seconds関数
func Seconds() int64
Secondsは、Unix標準時間である「1970/01/01 00:00:00 UTC」からの経過秒数を返します。
Sleep関数
func Sleep(ns int64) os.Error
Sleepは、少なくともnsナノ秒間、カレントのゴルーチンを停止します。いくつかのオペレーティングシステム上では、より高精度のスリープがsyscall.Nanosleepで提供される可能性があります。
Tick関数
func Tick(ns int64) <-chan int64
Tickは、NewTicker関数のコンビニエンスラッパーで時刻送信チャネルのアクセスだけを提供します。時刻送信を停止する必要がないときに役立ちます。
ParseError型
ParseErrorは、時刻文字列の解析時にエラーが起きた箇所を記録します。
type ParseError struct {
Layout string
Value string
LayoutElem string
ValueElem string
Message string
}
(*ParseError) String関数
func (e *ParseError) String() string
Stringは、ParseErrorの文字列表現です。
Ticker型
Tickerは、時刻の刻みを配信する同期チャネルを内部に持ちます。
type Ticker struct {
C <-chan int64 // 時刻の刻みが送信されるチャネル
// contains unexported fields
}
NewTicker関数
func NewTicker(ns int64) *Ticker
NewTickerは、ナノ秒ごとにナノ秒単位の時刻を配信する同期チャネルを持った、新しいTickerを返します。
時刻配信が中断されたときは、それを取り戻すためにその間の時刻配信をスキップします。
(*Ticker) Stop関数
func (t *Ticker) Stop()
Stopはtickerを停止します。以降、時刻は配信されなくなります。
Time型
Timeは解析済み時刻値を格納する構造体です。
type Time struct {
Year int64 // 2006 のときは、 2006
Month, Day int // Jan-2 のときは、 1, 2
Hour, Minute, Second int // 15:04:05 のときは、 15, 4, 5.
Weekday int // Sunday, Monday, ...
ZoneOffset int // UTC(東)の秒数, 例: -7*60 (-0700のとき)
Zone string // 例: "MST"
}
LocalTime関数
func LocalTime() *Time
LocalTimeは、現在時刻をローカルタイムゾーンの解析済み時刻値として返します。
Parse関数
func Parse(alayout, avalue string) (*Time, os.Error)
Parseは、書式化された文字列を解析し、それが表している時刻値を返します。layoutには標準時の文字列表現を指定することでフォーマットを定義し、これを使って時刻の解析をします。あらかじめ定義されているレイアウトANSIC、UnixDate、RFC3339なども標準時を表しています。
返される時刻構造体には、valueに存在している要素だけがセットされます。また入力文字列が矛盾した時間(例えば間違った曜日を持っている)を表しているときは、矛盾した値が返されます。大抵は、返された時間の要素の値は正しく、時は0..23、分は0..59、月の日は0..31となります。年は0000..9999の範囲内でなければなりません。
SecondsToLocalTime関数
func SecondsToLocalTime(sec int64) *Time
SecondsToLocalTime は、Unix標準時間である「1970/01/01 00:00:00 UTC」から、パラメータsecで指定した秒数経過した時刻をローカルタイムゾーンの解析済み時刻値で返します。
SecondsToUTC関数
func SecondsToUTC(sec int64) *Time
SecondsToUTC は、Unix標準時間である「1970/01/01 00:00:00 UTC」から、パラメータsecで指定した秒数経過した時刻をUTCタイムゾーンの解析済み時刻値で返します。
UTC関数
func UTC() *Time
UTCは、現在時刻をUTCタイムゾーンの解析済み時刻値で返します。
(*Time) Format関数
func (t *Time) Format(layout string) string
Formatは、時間値をlayoutでフォーマットした文字列表現を返します。layoutは標準時の表現を示すことによってフォーマットを定義し、これを使って時刻をフォーマットします。あらかじめ定義されているレイアウトANSIC、UnixDate、RFC3339なども標準時を表しています。
(*Time) Seconds関数
func (t *Time) Seconds() int64
Secondsは、解析済み時刻値の1970年1月1日からの経過秒数を返します。
(*Time) String関数
func (t *Time) String() string
Stringは、時刻をUnix形式で返します。
バグ
Windowsの実装では、今年の夏時間のルールが、過去および将来も常に当てはまるとみなしています。
Trackback URL
Comments