如何将int转换为时间段


how to convert int into time period

我有今天的日期,我想从中减少小时''天。我得到int中的"减少间隔的小时数",表示天数。

我试过这样的东西:

    $today_date = date('Y-m-d H:i:s');
    $temp_interval_date = $settings->days_back;
    $interval_date =  date('H',$temp_interval_date*24);
    $final =  $temp_interval_date - $interval_date;  

我的最终目标是以这种格式获得今天的日期间隔期

'Y-m-d H:i:s'

我是c#花花公子:)
感谢

我不完全清楚你在问什么,但我认为这就是你想要的。

$date = new DateTime();
$date->sub(new DatePeriod('P'.$settings->days_back.'D'));
echo $date->format('Y-m-d H:i:s');

你也可以做(如果你使用的是PHP 5.2)

$date = new DateTime();
$date->modify('-' . $settings->days_back . ' days'));
echo $date->format('Y-m-d H:i:s');

参考

  • DateTime()
  • DatePeriod()

也许这会有所帮助:

echo date('Y-m-d', strtotime('-1 day', date('Y-m-d') ));

的另一种方法

<?php
$temp_interval_date = 2; //in hours (for example =2)
echo date('Y-m-d H:i:s', strtotime('-'.($temp_interval_date*24).' hours',strtotime(date('Y-m-d H:i:s'))));
?>