brick / date-time

Date and time library for PHP
MIT License
335 stars 30 forks source link

Add LocalDateTimeRange #34

Open antonkomarev opened 3 years ago

antonkomarev commented 3 years ago

It will be useful to have LocalDateTimeRange to encapsulate start and end datetime. Quite similar to the LocalDateRange.

Otherwise we need to do something like this if we want to pass range as one parameter.

private function getRegistrationsBetweenDates(
    LocalDateRange $dateRange
): array {
    $registeredAtFrom = $dateRange->getStart()->atTime(LocalTime::min());
    $registeredAtTo = $dateRange->getEnd()->atTime(LocalTime::max());

    // ...
}

But this way we can only use 00:00:00 and 23:59:59 time.

Prososal:

private function getRegistrationsBetweenDateTimes(
    LocalDateTimeRange $dateTimeRange
): array {
    $registeredAtFrom = $dateTimeRange->getStart();
    $registeredAtTo = $dateTimeRange->getEnd();

    // ...
}
gnutix commented 2 years ago

A comment worth referencing here : https://github.com/brick/date-time/issues/45#issuecomment-1173093592