通常,正常日有1440分钟(60分钟/小时* 24小时)。但是,由于夏令时,可以是1380分钟(60分钟/小时* 23小时)或1500分钟(60分钟/小时* 25小时)。
如果在提供php的DateTime对象时,如何在给定日期找到确切的分钟数?
例如,2016年3月13日,DST在美国开始(因此是23小时工作日),2016年11月6日,DST在美国结束(因此是25小时工作日)。 2016年5月1日是正常的24小时工作日。我希望有一个函数可以返回以下内容:
$lomg= new DateTime('November 6, 2016T07:23:11');
$short= new DateTime('March 13, 2016T19:17:53');
$regular = new DateTime('May 1, 2016T22:45:00');
getMinutes($short); // Returns 1380
getMinutes($long); // Returns 1500
getMinutes($regular); // Returns 1440
答案 0 :(得分:0)
以下应该(原则上)工作:
<?php
$dt = new DateTime();
$dt->setTimestamp(1457827200);
$dt->modify("today"); //Set to 00:00:00
$dt2 = clone $dt; // Copy to new instance
$dt2->modify("+1 day");
var_dump(($dt2->getTimestamp() - $dt->getTimestamp())/60);
(完全免责声明,未对其进行测试)