Linux myfed 5.6.6-300.fc32.x86_64 #1 SMP Tue Apr 21 13:44:19 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux # date -R Thu, 29 Jun 2023 00:56:04 -0700
import times
let laZone = newTimezone("America/Los_Angeles", laTzInfo, laTzInfo)
let bjZone = newTimezone("Asia/Shanghai", bjTzInfo, bjTzInfo)
echo parseTime("2023-06-29 15:27:12", "yyyy-MM-dd HH:mm:ss", bjZone) # 2023-06-29T08:27:12-07:00 echo parseTime("2023-06-29 15:27:12 +08:00", "yyyy-MM-dd HH:mm:ss zzz", bjZone) # 2023-06-29T00:27:12-07:00 echo parseTime("2023-06-29 15:27:12 +08:00", "yyyy-MM-dd HH:mm:ss zzz", laZone) # 2023-06-29T00:27:12-07:00 echo parseTime("2023-06-29 15:27:12 +08:00", "yyyy-MM-dd HH:mm:ss zzz", utc()) # 2023-06-29T00:27:12-07:00
The First: parseTime("2023-06-29 15:27:12", "yyyy-MM-dd HH:mm:ss", bjZone) nim think the default is UTC? but the definition bjZone will be meaningless.
The last three: parseTime("2023-06-29 15:27:12 +08:00", "yyyy-MM-dd HH:mm:ss zzz", bjZone) parseTime("2023-06-29 15:27:12 +08:00", "yyyy-MM-dd HH:mm:ss zzz", laZone) parseTime("2023-06-29 15:27:12 +08:00", "yyyy-MM-dd HH:mm:ss zzz", utc()) result is the same: 2023-06-29T00:27:12-07:00 , the different definition: bjZone laZone utc(), does it make sense?