Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每月计算分钟数(php)_Php_Date_Datetime - Fatal编程技术网

每月计算分钟数(php)

每月计算分钟数(php),php,date,datetime,Php,Date,Datetime,我需要计算一年中任何月份的分钟数。例如,我想展示2013年、2014年和2015年以及其他任何一年,一月有4460分钟,九月有43200分钟,等等。我可能会硬编码,但问题显然是二月。如果是闰年,它有41760分钟,如果不是,它有40320分钟。我想我甚至不知道最好的方法是什么。也许是Date和mktime的事?如果是闰年,写一些只有2月才会改变的东西?感谢您的指导 编辑:根据要求,我尝试过但失败的 $totaldays = date("t", mktime($month)); if $tota

我需要计算一年中任何月份的分钟数。例如,我想展示2013年、2014年和2015年以及其他任何一年,一月有4460分钟,九月有43200分钟,等等。我可能会硬编码,但问题显然是二月。如果是闰年,它有41760分钟,如果不是,它有40320分钟。我想我甚至不知道最好的方法是什么。也许是Date和mktime的事?如果是闰年,写一些只有2月才会改变的东西?感谢您的指导

编辑:根据要求,我尝试过但失败的

$totaldays = date("t", mktime($month));

if $totaldays=31
    $totmin=44640
elseif $totaldays=30
    $totmin=43200
elseif $totaldays=29
    $totmin=41760
else $totaldays=28
    $totmin=40320

撇开闰秒不谈,我认为这应该行得通:

$datetime = new DateTime('2014-02-01');
$interval = new DateInterval('P1Y');
$period = new DatePeriod($datetime, $interval, 5);
foreach($period as $month) {
    echo $month->format('Y-m-d') . ': ' . $month->format('t') * 1440 . "<br>\n";
}
填写参数,并将整数乘以24*60

例如:

$minutes = (24 * 60) * cal_days_in_month(CAL_GREGORIAN, date('m'), date('Y'));

我不确定你是如何用硬编码的值或其他东西来做你的逻辑的,但是要检查这是否是闰年,就去做

        if( date("L", time() ) { //It's a leap year!
              $intTotalMinute += 41760;
        } else {
              $intTotalMinute += 40320;   
        }
获取所选年份的分钟数:

函数getYearMinutes$year{ $days=365+日期'L',strottimefirst day of一月$year; 返回$days*24*60; }
谷歌提供了一个关于如何获得任何给定月份天数的片段。其余的应该是琐碎的,除了你在处理闰秒,等等。有什么问题吗?您已经找到了date't',因此这是一个简单的乘法运算。处理夏令时转换也将是一个问题日期't'*24*60?为了保持这个问题的开放性,请向我们展示您已经尝试过的内容。仅处理二月,这对我的目的有效。为了我的目的,我可以硬编码其他函数,在30天或31天保持静态。要让函数cal_days_in_month正常工作,您必须使用-enable calendar编译PHP。
        if( date("L", time() ) { //It's a leap year!
              $intTotalMinute += 41760;
        } else {
              $intTotalMinute += 40320;   
        }