mirror of
https://github.com/unidoc/unioffice.git
synced 2025-05-02 22:17:07 +08:00
28 lines
1021 B
Go
28 lines
1021 B
Go
![]() |
// 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)
|
||
|
}
|