php计算当前距离某一天的天数,PHP 怎么计算从某一天到某一天一共的天数然后增加?...

这篇博客介绍了如何在PHP中计算两个日期之间所有中间日期的方法,包括使用DateTime对象、DateInterval和DatePeriod类。作者还推荐了Carbon库作为更方便的时间处理扩展,并提供了不同代码示例来遍历日期区间。
摘要由CSDN通过智能技术生成

就比如说 9月15号 9月16号 9月17号,知道从哪天开始和到哪天结束。怎么算出中间的日期。

回复内容:

就比如说 9月15号 9月16号 9月17号,知道从哪天开始和到哪天结束。怎么算出中间的日期。

既然知道开始和结束时间,那么用结束时间戳减去开始时间戳的差值除以86400就是间隔天数

如果是获取中间的日期,我觉得楼上 南小鸟 的代码不够简洁,如下

$start = new DateTime('2016-09-15');

$end = new DateTime('2016-09-17');

for ($start;$start<=$end;$start->modify('+1 day')) {

echo $start->format('Y-m-d')."

";

}

推荐我用过的最好的PHP时间处理扩展: Carbon,基本上所有的关于时间的计算都能搞定

Carbon比较方便

不过PHP默认的就有这个功能

$start = new DateTime('2016-09-15');

$end = new DateTime('2016-09-17');

$inteval = new DateInteval('P1D');

$period = new DatePeriod($start, $end, $inteval);

foreach ($period as $date) {

}

$start = '2016-09-15';

$end = '2016-09-17';

$start = strtotime($start);

$end = strtotime($end);

$days = ($end - $start) / 3600 / 24;

for ($i = 0; $i <= $days; $i++) {

echo date('Y-m-d', $start + 3600 * 24 * $i) . "

";

}

2016-09-15

2016-09-16

2016-09-17

相关标签:php

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是计算一天到现在的总天数的C程序: ```c #include <stdio.h> #include <time.h> int main() { time_t t = time(NULL); struct tm tm = *localtime(&t); int year, month, day; printf("请输入某一天的日期(年 月 日,用空格隔开):"); scanf("%d %d %d", &year, &month, &day); int days = 0; for (int i = year; i <= tm.tm_year + 1900; i++) { int start_month = (i == year) ? month : 1; int end_month = (i == tm.tm_year + 1900) ? tm.tm_mon + 1 : 13; for (int j = start_month; j < end_month; j++) { int max_day = 31; if (j == 4 || j == 6 || j == 9 || j == 11) max_day = 30; else if (j == 2) { if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) max_day = 29; else max_day = 28; } if (i == tm.tm_year + 1900 && j == tm.tm_mon + 1) max_day = tm.tm_mday; int start_day = (i == year && j == month) ? day : 1; int end_day = (i == tm.tm_year + 1900 && j == tm.tm_mon + 1) ? max_day + 1 : max_day; for (int k = start_day; k < end_day; k++) days++; } } printf("总天数为:%d\n", days); return 0; } ``` 在程序中,我们使用time函数获取当前时间,然后使用localtime函数将时间转换为本地时间,并获取当前年月日。接下来,我们通过scanf函数获取某一天的日期。 然后,我们使用三重循环计算天数。外层循环遍历从输入的年份到当前年份的每一年,中间循环遍历每个月份,内层循环遍历每一天。在循环中,我们先计算当前月份的最大天数,然后根据开始日期和结束日期计算出这个月份内的天数,最后累加到总天数中。 最后,我们输出总天数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值