【问题标题】:Convert days,hours&minutes to a total of minutes将天、小时和分钟转换为总分钟数
【发布时间】:2019-02-22 15:45:27
【问题描述】:

很抱歉,如果这不是发布此内容的正确位置,但在 Google 上进行研究,我无法找到合适的答案。

我想要实现的是用户在网站上输入日期和时间,然后将其插入数据库(两个不同的字段,一个日期字段和一个时间字段)。

然后我需要获取直到那一天/时间的总分钟数。我有以下代码可以打印出天数、小时数和分钟数。但我不确定如何将其转换为总分钟数:

date_default_timezone_set("Europe/London");
$now = new DateTime();
$future_date = new DateTime(''.$Date.''.$Time.'');

$interval = $future_date->diff($now);

echo $interval->format("%a days, %h hours & %i minutes");

【问题讨论】:

  • strtotime /60 我认为会这样做。什么是日期时间2字段,为什么不用datetime
  • 总分钟数 = 天*24*60 + 小时*60 + 分钟
  • @user3783243 因为我想分别显示日期和时间,但我不知道如何在 MySQL 中使用 DateTime 格式。马杜尔巴亚;如何从上面的 format() 中获取天数和小时数?
  • 日期时间分隔见stackoverflow.com/questions/12337195/…。您可以将这两个字段连接起来并使用strtotime,这将为您提供秒数,然后除以 60 以获得分钟数。

标签: php datetime


【解决方案1】:
$now = new DateTime();
$future_date = new DateTime($Date.' '.$Time);

$minutes = ($future_date->getTimestamp() - $now->getTimestamp())/60;

Unix 时间戳以秒为单位存储日期。所以你可以在不使用 diff() 函数初始化 DateInterval 的情况下计算它。

【讨论】:

  • 这行得通,但我得到以下信息:2760.9166666667 如何将其四舍五入到 2760 分钟?
  • 如果你总是想四舍五入到整数,你应该使用 floor(number);功能。 w3schools.com/php/func_math_floor.asp
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-01
  • 1970-01-01
  • 2011-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-08
相关资源
最近更新 更多