Update localtime.erl
This commit is contained in:
parent
2c8dd7244b
commit
28d15bb07e
1 changed files with 33 additions and 5 deletions
|
@ -25,6 +25,7 @@
|
||||||
utc_to_local/2
|
utc_to_local/2
|
||||||
,local_to_utc/2
|
,local_to_utc/2
|
||||||
,local_to_local/3
|
,local_to_local/3
|
||||||
|
,local_to_local_dst/3
|
||||||
,tz_name/2
|
,tz_name/2
|
||||||
,tz_shift/2
|
,tz_shift/2
|
||||||
,tz_shift/3
|
,tz_shift/3
|
||||||
|
@ -87,12 +88,39 @@ local_to_utc(LocalDateTime, Timezone) ->
|
||||||
% ErrDescr = atom(), unknown_tz
|
% ErrDescr = atom(), unknown_tz
|
||||||
local_to_local(LocalDateTime, TimezoneFrom, TimezoneTo) ->
|
local_to_local(LocalDateTime, TimezoneFrom, TimezoneTo) ->
|
||||||
case local_to_utc(LocalDateTime, TimezoneFrom) of
|
case local_to_utc(LocalDateTime, TimezoneFrom) of
|
||||||
Date = {{_,_,_},{_,_,_}} ->
|
UtcDateTime = {{_,_,_},{_,_,_}} ->
|
||||||
utc_to_local(Date, TimezoneTo);
|
LocalDateTime2 = utc_to_local(UtcDateTime, TimezoneTo);
|
||||||
[{{_,_,_},{_,_,_}},{{_,_,_},{_,_,_}}] ->
|
[UtcDateTime, {{_,_,_},{_,_,_}}] ->
|
||||||
ambiguous;
|
LocalDateTime2 = utc_to_local(UtcDateTime, TimezoneTo);
|
||||||
Res ->
|
Res ->
|
||||||
Res
|
LocalDateTime2 = Res
|
||||||
|
end,
|
||||||
|
case LocalDateTime2 of
|
||||||
|
[DateTimeToReturn, {{_,_,_},{_,_,_}}] ->
|
||||||
|
DateTimeToReturn;
|
||||||
|
Other ->
|
||||||
|
Other
|
||||||
|
end.
|
||||||
|
|
||||||
|
% local_to_local_dst(LocalDateTime, TimezoneFrom, TimezoneTo) -> LocalDateTime | ambiguous | time_not_exists | {error, ErrDescr}
|
||||||
|
% LocalDateTime = DateTime()
|
||||||
|
% TimezoneFrom = String()
|
||||||
|
% TimezoneTo = String()
|
||||||
|
% ErrDescr = atom(), unknown_tz
|
||||||
|
local_to_local_dst(LocalDateTime, TimezoneFrom, TimezoneTo) ->
|
||||||
|
case local_to_utc(LocalDateTime, TimezoneFrom) of
|
||||||
|
UtcDateTime = {{_,_,_},{_,_,_}} ->
|
||||||
|
LocalDateTime2 = utc_to_local(UtcDateTime, TimezoneTo);
|
||||||
|
[{{_,_,_},{_,_,_}}, UtcDateTime] ->
|
||||||
|
LocalDateTime2 = utc_to_local(UtcDateTime, TimezoneTo);
|
||||||
|
Res ->
|
||||||
|
LocalDateTime2 = Res
|
||||||
|
end,
|
||||||
|
case LocalDateTime2 of
|
||||||
|
[{{_,_,_},{_,_,_}}, DateTimeToReturn] ->
|
||||||
|
DateTimeToReturn;
|
||||||
|
Other ->
|
||||||
|
Other
|
||||||
end.
|
end.
|
||||||
|
|
||||||
% tz_name(DateTime(), Timezone) -> {Abbr, Name} | {{StdAbbr, StdName}, {DstAbbr, DstName}} | unable_to_detect | {error, ErrDesc}
|
% tz_name(DateTime(), Timezone) -> {Abbr, Name} | {{StdAbbr, StdName}, {DstAbbr, DstName}} | unable_to_detect | {error, ErrDesc}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue