# Method Calendar.Time.TimeofDay()->number_of_hours()

Method number_of_hours

  ``Hour` hour()`
  ``Hour` hour(`int` `n`)`
  ``array`(`Hour`) hours()`
  ``array`(`Hour`) hours(`int` `first`, `int` `last`)`
  ```int`` number_of_hours()`

Description

  hour() gives back the timerange representing the first or nth Hour of the called object. Note that hours normally starts to count at zero, so `->hour(2)` gives the third hour within the range.

  An Hour is in the Calendar perspective as any other time range not only 60 minutes, but also one of the (normally) 24 hours of the day, precisely.

  hours() give back an array of all the hours containing the time periods called. With arguments, it will give back a range of those hours, in the same enumeration as the n to hour().

  number_of_hours() simple counts the number of hours containing the called time period.

  Note: The called object doesn't have to *fill* all the hours it will send back, it's enough if it exist in those hours:

          > object h=Calendar.Time.Hour();
          Result: Hour(265567)
          > h->hours();
          Result: ({ /* 1 element */
                      Hour(265567)
                  })
          > h+=Calendar.Time.Minute();
          Result: Minute(265567:01+60m)
          > h->hours();
          Result: ({ /* 2 elements */
                      Hour(265567),
                      Hour(265568)
                  })