Gibheer
fa05045d31
This is the import from the separate monfront repository. The history could not be imported, but this should suffice.
37 lines
1.5 KiB
Go
37 lines
1.5 KiB
Go
package internal
|
||
|
||
import "time"
|
||
|
||
// Timezones used for local datetime, date, and time TOML types.
|
||
//
|
||
// The exact way times and dates without a timezone should be interpreted is not
|
||
// well-defined in the TOML specification and left to the implementation. These
|
||
// defaults to current local timezone offset of the computer, but this can be
|
||
// changed by changing these variables before decoding.
|
||
//
|
||
// TODO:
|
||
// Ideally we'd like to offer people the ability to configure the used timezone
|
||
// by setting Decoder.Timezone and Encoder.Timezone; however, this is a bit
|
||
// tricky: the reason we use three different variables for this is to support
|
||
// round-tripping – without these specific TZ names we wouldn't know which
|
||
// format to use.
|
||
//
|
||
// There isn't a good way to encode this right now though, and passing this sort
|
||
// of information also ties in to various related issues such as string format
|
||
// encoding, encoding of comments, etc.
|
||
//
|
||
// So, for the time being, just put this in internal until we can write a good
|
||
// comprehensive API for doing all of this.
|
||
//
|
||
// The reason they're exported is because they're referred from in e.g.
|
||
// internal/tag.
|
||
//
|
||
// Note that this behaviour is valid according to the TOML spec as the exact
|
||
// behaviour is left up to implementations.
|
||
var (
|
||
localOffset = func() int { _, o := time.Now().Zone(); return o }()
|
||
LocalDatetime = time.FixedZone("datetime-local", localOffset)
|
||
LocalDate = time.FixedZone("date-local", localOffset)
|
||
LocalTime = time.FixedZone("time-local", localOffset)
|
||
)
|