Php: DateTime: 如何只设置秒数(不是小时也不是分钟)

标签 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”。

最佳答案

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/

相关文章:

php - "yield"和 "yield from"具有相同的功能

php - PHP中连接字符串的有效方法

javascript - Chrome中解析日期(带时间)

javascript - EXTJS Ext.util.Format.date 自动日期转换

sql - 如何在 postgreSQL 函数中使用日期作为变量?

php - .env 文件不会将变量加载到 config.php - 学生设置第一个 php 开发环境

php - 将货币格式的字符串转换为 float

java - 如何使用 JPA 在 MS SQL Server 中存储时间戳?

Python DataFrame 如何从日期时间戳中分割或提取日期

php - 在 Symfony 2.0.x 中自动加载非 PSR0 库