php - Strtotime不起作用并返回1970年和2019年至2024年

标签 php jquery

我正在制作一个选择框,其中包含过去 18 年的选项,并且每次用户单击按钮时都会附加此选择。

我创建了一个选择框,它使用 php 执行此操作,并且此代码位于选择内部:

<?php
    for($x=1; $x<=18; $x++){
       $year = date('Y', strtotime(date('Y').'-'.$x.'year'));
       echo '<option value='.$year.'>'.$year.'</option>';
    }
?>

但是它给了我这个:http://puu.sh/nciOj/6fbcd52435.png .

我尝试过查看其他帖子,但似乎没有一个有帮助,我也尝试过在互联网上的其他地方查找。我尝试取出year,但没有成功。我还尝试将 $x++; 移动到 for 循环内部。

我想要发生的是,当您单击选择框时,它会向您显示过去 18 年的情况。如果这是一个非常简单或非常愚蠢的问题,我很抱歉!

最佳答案

您当前正在向 strtotime() 传递一个格式错误的字符串,导致它返回不正确的时间戳。

日期('Y') 。 '-'。 $x 。 'year' 字面意思是 2016-1year, 2016-2year 等。您所需要做的就是使用 date('Y') 获取当前年份>,并从中减去 $x。所以2016 - 1、2016 - 2 等

$year = date('Y') - $x;

关于php - Strtotime不起作用并返回1970年和2019年至2024年,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35478747/

相关文章:

javascript - jQTouch 后退按钮

javascript - 联系表格在 iPhone 上无效

php - Yii 中的 Paypal 按钮生成?

jquery - 如何使 Bootstrap 网格在选项卡 Pane 中按预期工作?

javascript - 如何在猫头鹰旋转木马的屏幕上显示上一个和下一个 slider ?

javascript - 文件输入提交表单前需要发出警报

php - 带有 JSON 数据的 jqGrid 将表呈现为空

php - 删除所有特殊字符,但不删除非拉丁字符

php - 我应该如何修改我的 php web 服务来处理一个而不是多个调用?

javascript - 使用 Ajax 如何将表单中的下拉菜单选择值与数据库中的记录相匹配,并获取关联的记录/行以预填充表单?