Php :DateTime :как установить только секунды (не часы и не минуты)

У меня есть код, в котором я должен «округлить» до самой низкой минуты.

  • 16:05:00 должен стать16:05:00
  • 16:05:01должен стать16:05:00
  • 16:05:29должен стать16:05:00
  • 16:05:30должен стать16:05:00
  • 16:05:31должен стать16:05:00
  • 16:05:59должен стать16:05:00

Я хочу использовать объект DateTime. Нет таких функций, как:

  • setHours()
  • setMinutes()
  • setSeconds()

Вот начало моего кода:

$my_date=DateTime::createFromFormat(
    'Y-m-d H:i:s',
    $bd_date
);  
$my_date->setTimezone(self::$TimeZone);

Теперь я хотел бы установить часть «секунды» на ноль.

У вас есть элегантный способ установить минуты так, как мне хотелось бы?

Примечание :Я не ищу решения типа "разделить на getTime ()на 60, преобразовать в целое число, а затем умножить на 60". Я ищу общее решение для установки секунд, а не только «0».

14
задан Eduardo Russo 27 June 2012 в 11:23
поделиться