3.11. Obsługa dat biznesowych

Problem

W aplikacjach biznesowych i finansowych często zamiast dat kalendarzowych zachodzi konieczność posługiwania się datami biznesowymi.

Rozwiązanie

Klasa DateTime oferuje kilka metod obsługi dat biznesowych: DateTime#cwday zwraca biznesowy numer dnia tygodnia, DateTime#cweek — biznesowy numer tygodnia w roku, zaś DateTime#cwyear — rok biznesowy.

Rozpatrzmy datę 1 stycznia 2006 roku. Jest to pierwszy dzień roku kalendarzowego 2006, lecz ponieważ jest to niedziela, więc z biznesowego punktu widzenia jest to ostatni dzień roku biznesowego 2005.

require 'date'
sunday = DateTime.new(2006, 1, 1)
sunday.year                                      # => 2006
sunday.cwyear                                    # => 2005
sunday.cweek                                     # => 52
sunday.wday                                      # => 0
sunday.cwday                                     # => 7

Rok ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.