forked from toolshed/abra
		
	
		
			
				
	
	
		
			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)
 | 
						||
)
 |