Эрланг: складываете кортежи?

Я попытался сделать это, чтобы сделать новую дату на 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}}
Другие вопросы по тегам