我有一个代码,我必须“四舍五入”到最低分钟数。
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”。
最佳答案
是setTime优雅?
$my_date->setTime ( $my_date->format("H"), $my_date->format("i"), $new_second_val );
$my_date->setTime ( $my_date->format("H"), $new_minute_val, $new_second_val );
// etc...
关于Php: DateTime: 如何只设置秒数(不是小时也不是分钟),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11223763/