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 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据