Эрланг: складываете кортежи?
Я попытался сделать это, чтобы сделать новую дату на 90 секунд раньше текущего системного времени:
12> {{00,00,00},{00,01,30}}+erlang:localtime().
** exception error: an error occurred when evaluating an arithmetic expression
in operator +/2
called as {{0,0,0},{0,1,30}} + {{2013,3,8},{6,3,33}}
Есть ли простые способы сделать это?
1 ответ
Решение
Вы не можете просто добавить кортежи в эрланге. Вы можете добавить отдельные целые числа в кортежи, но чтобы манипулировать временем, вы должны использовать calendar
модуль ( документы):
1> Added = calendar:datetime_to_gregorian_seconds(calendar:local_time()) + 90.
63529954043
2> calendar:gregorian_seconds_to_datetime(Added).
{{2013,3,8},{9,27,23}}