calendar:local_time_to_universal_time/2
把本地时间转为 UTC 时间
用法:
local_time_to_universal_time(datetime1970(), `true` | `false` | `undefined`) -> datetime1970()
内部实现:
-spec local_time_to_universal_time(datetime1970(), 'true' | 'false' | 'undefined') -> datetime1970(). local_time_to_universal_time(DateTime, IsDst) -> erlang:localtime_to_universaltime(DateTime, IsDst).
把本地时间转为 UTC(Universal Coordinated Time:国际标准时) 时间,参数 DateTime1 必须是 1970 年 1 月 1 日之后的本地数值。
如果 IsDst 为 true,那么 {Date1, Time1} 是在夏令时期间;如果 IsDst 为 false,则不在夏令时期间;如果 IsDst 为 undefined,那么底层操作系统将会判断是否是在夏令时期间,就像调用 erlang:localtime_to_universaltime({Date1, Time1}) 那样。
返回值可能有 0、1 或者是 2 个 UTC 时间:
- []:对于一个在切换至夏令时被跳过的本地时间,由于本地时间是一个非法数值(它还没有发生),所有它没有对应的 UTC 时间
- [DstDateTimeUTC, DateTimeUTC]:对于一个在切换至夏令时被重复的本地时间,它有两个对应的 UTC 时间,一个是还在夏令时期间的第一个实例,一个是第二个实例。
- [DateTimeUTC]:所有的本地时间只有一个对应的 UTC 时间。
calendar:local_time_to_universal_time({{2013, 11, 1}, {20, 17, 18}}, undefined).