作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
假设你有两个这样的 Unix 时间戳:
$startDate = 1330581600;
$endDate = 1333170000;
我想遍历该范围内的每一天并输出如下内容:
Start Loop
Day Time Stamp: [Timestamp for the day within that loop]
End Loop
我已经尝试寻找某种类型的函数来执行此操作,但我不确定它是否可行。
最佳答案
因为我喜欢 DateTime、DateInterval 和 DatePeriod,所以这是我的解决方案:
$start = new DateTime();
$end = new DateTime();
$start->setTimestamp(1330581600);
$end->setTimestamp(1333170000);
$period = new DatePeriod($start, new DateInterval('P1D'), $end);
foreach($period as $dt) {
echo $dt->format('Y-m-d');
echo PHP_EOL;
}
乍一看这似乎令人困惑,但这是一种非常合乎逻辑的方法。
与 DatePeriod您正在定义间隔为 1 天的周期的开始和结束(在 DateInterval 中查找格式),然后您可以对其进行迭代。
最后,在每次迭代中你都会得到一个 DateTime object。您可以在其上使用 DateTime::format()
关于php - 在 PHP 中循环遍历 Unix 时间戳范围内的所有日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10196915/
我是一名优秀的程序员,十分优秀!