package core
import "core:sys/posix"
import "core:time"
// returns offset in seconds
get_timezone_offset :: proc(datetime: time.Time) -> int {
t := posix.time_t(time.to_unix_seconds(datetime))
tm: posix.tm
posix.time(&t)
posix.localtime_r(&t, &tm)
return int(tm.tm_gmtoff)
}
new_time_with_seconds_offset :: proc(t: time.Time, seconds_offset: int) -> time.Time {
return {_nsec = t._nsec + (i64(time.Second) * i64(seconds_offset))}
}
new_time_with_timezone_offset :: proc(t: time.Time) -> time.Time {
return new_time_with_seconds_offset(t, get_timezone_offset(t))
}