23:30
- ожидаемый результат (если вы знаете, что происходит).
Относительные части строки (-1 hours 30 minutes
) обрабатываются отдельно как -1 hours
и 30 minutes
.Это два экземпляра формата number space? (unit | 'week')
, как описано в документации Относительные форматы .
Из-за этого совокупное относительное изменение времени составляет всего -30 minutes
, который с полуночи дает 23:30
.
Чтобы получить желаемый эффект, либо:
- используйте одно относительное утверждение (например,
-90 minutes
) - сделайте свое первоначальное минутное утверждение отрицательным как
-1 hours -30 minutes
- или используйте специальный формат
ago
как 1 hours 30 minutes ago
См. http://php.net/datetime.formats.relative для получения дополнительной информации.