time: add a tm_gmtoff field to C.tm (a BSD and GNU extension) (#20907)

This commit is contained in:
Hitalo Souza 2024-02-26 05:49:12 -04:00 committed by GitHub
parent 43fd568874
commit 8c9003fbd3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 23 additions and 9 deletions

View File

@ -17,6 +17,7 @@ pub struct C.tm {
tm_wday int tm_wday int
tm_yday int tm_yday int
tm_isdst int tm_isdst int
tm_gmtoff int
} }
fn C.timegm(&C.tm) C.time_t fn C.timegm(&C.tm) C.time_t

View File

@ -344,3 +344,16 @@ fn test_parse_three_letters_month() {
tm_tm := time.parse_format(tm_s, format)! tm_tm := time.parse_format(tm_s, format)!
assert tm_tm.month == tm.month assert tm_tm.month == tm.month
} }
fn test_tm_gmtoff() {
$if windows {
return
} $else {
rawtime := i64(0) // C.time_t{}
C.time(&rawtime) // C.tm{}
info := C.localtime(&rawtime)
assert info.tm_gmtoff == time.now().unix - time.utc().unix
}
}