Odliczanie czasu do konca usługi

Chce napisac apke w ktorej bede dodawal klientow
kazdy klient bedzie mial okreslone dane
miedzy innymi data rejestracji data rozpoczecia usługi i data zakonczenia usługi
chce zeby odliczalo mi date od chwili obecnej do konca zamowionej usługi.

jak to ogarnac czeby ten czas mi odliczalo?

oprocz tego chce zrobic cos takiego zeby po jednym klieknieciu dodawalo kolejny rok tej uslugi - ale to moze pozniej…

na poczatej jak liczyc ten czas?

Nie znam żadnych szczegółów tego co chcesz osiągnąć ale zakładam że dobrym, uniwersalnym punktem wyjścia będzie wybranie jednostki. Któraś z najpopularniejszych (dni, godziny, minuty, sekundy, milisekundy) wydaję się odpowiednia. Która to właściwie bez znaczenia, ponieważ można je łatwo konwertować między sobą. Tak na przykład 1godzina = 60 minut, 1 minuta = 60 sekund itd. Taka łatwość w konwersji spowoduje, że kod będzie bardziej elastyczny i otwarty na zmiany.

Do odejmowania i zabawy z czasem możesz zobaczyć gema: https://github.com/tmlee/time_difference - chyba o takie wyświetlanie Ci chodziło, ile dni czy godzin pozostało.
Wystarczy pod start_time np. podstawić czas rejestracji, a end_time czas końca to data zakończenia jakiejś subskrypcji / usługi:

TimeDifference.between(start_time, end_time).in_days

Co do dodawania czasu, zobacz jak zachowuje się dodawanie liczby do czasu:

2 :025 > x = DateTime.now
     => Mon, 10 Nov 2014 21:58:13 +0100 
2.1.2 :026 > year = 365
     => 365 
2.1.2 :027 > x + year
     => Tue, 10 Nov 2015 21:58:13 +0100 

Wystarczy zrobić jakąś prostą metodę, np. add_time, dodać jej typ w routes.rb, PUT czy tam POST, która po naciśnięciu czegoś będzie wykonywała akcję, np. dodawała kilka dni i robiła zapis w bazie.

Nie trzeba nawet znać liczby dni ani zastanawiać, czy robiąc + 365 dodamy sekundy, dni, czy co tam jeszcze :wink:

[3] pry(main)> DateTime.now + 1.year
 => Wed, 11 Nov 2015 00:19:45 +0100

dziekuje Wam bardzo o cos takiego mi chodzilo