summaryrefslogtreecommitdiff
path: root/src/lib/os/time.go
blob: 3eee243cc53415d331d6c76b7120d1b5164e4cc4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package os

import (
	"os";
	"syscall"
)


// Time returns the current time, in whole seconds and
// fractional nanoseconds, plus an Error if any. The current
// time is thus 1e9*sec+nsec, in nanoseconds.  The zero of
// time is the Unix epoch.
func Time() (sec int64, nsec int64, err Error) {
	var tv syscall.Timeval;
	if errno := syscall.Gettimeofday(&tv); errno != 0 {
		return 0, 0, ErrnoToError(errno)
	}
	return int64(tv.Sec), int64(tv.Usec)*1000, err;
}