28 lines
1021 B
Go
Raw Normal View History

// Copyright 2017 Baliance. All rights reserved.
//
// Use of this source code is governed by the terms of the Affero GNU General
// Public License version 3.0 as published by the Free Software Foundation and
// appearing in the file LICENSE included in the packaging of this file. A
// commercial license can be purchased by contacting sales@baliance.com.
package format
import "time"
func asLocal(d time.Time) time.Time {
d = d.UTC()
return time.Date(d.Year(), d.Month(), d.Day(), d.Hour(),
d.Minute(), d.Second(), d.Nanosecond(), time.Local)
}
func asUTC(d time.Time) time.Time {
// Excel appears to interpret and serial dates in the local timezone, so
// first ensure the time is converted internally.
d = d.Local()
// Then to avoid any daylight savings differences showing up between our
// epoch and the current time, we 'cast' the time to UTC and later subtract
// from the epoch in UTC.
return time.Date(d.Year(), d.Month(), d.Day(), d.Hour(),
d.Minute(), d.Second(), d.Nanosecond(), time.UTC)
}