dongnai6973 2016-02-01 14:02
浏览 207
已采纳

StrToTime在传入变量时不起作用

So I have an array of dates like this -

Contents of $monthsArray

    2015-02-01
    2015-03-01
    2015-04-01
    2015-05-01
    2015-06-01
    2015-07-01
    2015-08-01
    2015-09-01
    2015-10-01

I want to loop through the array and minus one year from each date -

foreach ($monthsArray as $month)
{
$ytdFrom = date("$month", strtotime('-1 year'));
$ytdTo = $month;
}

The value from the first loop of $ytdFrom is still = 2015-02-01, and so on, the ytdFrom doesn't minus the one year.

Although If run the following code -

$ytdFrom= date('Y-m-d',strtotime('-1 year')); // Todays date 2016-02-01

This would = 2015-02-01.

I can't see why this is happening, strToTime requires a string as its parameter and that is exactly what I'm passing in.

Any Ideas?

  • 写回答

2条回答 默认 最新

  • doubeng9567 2016-02-01 14:10
    关注

    The date function first takes the format you want it to output the string from, then the date you want formatted. strtotime takes the time you wanted formatted and an optional second parameter for the time the function should start from (unix timestamp). If not specified it is the current time. So for a demo:

    echo date('y-m-d', strtotime('-1 year', strtotime('2015-03-01')));
    

    Outputs:

    14-03-01
    

    Because it is one year before 2015-03-01.

    PHP Demo: https://eval.in/511126

    Where as,

    echo date('y-m-d', strtotime('-1 year'));
    

    outputs as 15-02-01. because that is 1 year before today.

    ...so to conclude you'd really want:

    echo date('y-m-d', strtotime('-1 year', strtotime($month)));
    

    and modify the date values to whatever format you want; http://php.net/manual/en/function.date.php.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 怎么改成输入一个要删除的数后现实剩余的数再输入一个删除的数再现实剩余的数用yes表示继续no结束程序
  • ¥15 在启动roslaunch时出现如下问题
  • ¥15 汇编语言实现加减法计算器的功能
  • ¥20 关于多单片机模块化的一些问题
  • ¥30 seata使用出现报错,其他服务找不到seata
  • ¥35 引用csv数据文件(4列1800行),通过高斯-赛德尔法拟合曲线,在选取(每五十点取1点)数据,求该数据点的曲率中心。
  • ¥20 程序只发送0X01,串口助手显示不正确,配置看了没有问题115200-8-1-no,如何解决?
  • ¥15 Google speech command 数据集获取
  • ¥15 vue3+element-plus页面崩溃
  • ¥15 像这种代码要怎么跑起来?