如何使用php日期函数从当前年份中获取+50年

如何使用php日期函数从当前年份中获取+50年,php,date,loops,strtotime,Php,Date,Loops,Strtotime,如何使用php日期函数从当前年份中获取+50年 你好, 我尝试了以下代码,从当前年份开始获得+50年。但日期函数只允许添加+20年 for($i = date('Y'); $i <= date('Y', strtotime('+50 year')); $i++){ echo $i.','; } 如果我加上+50年,那么空白输出显示:为什么不手动执行呢 $cur_year = date('Y'); for ($i=0; $i<=50; $i++) { echo $cu

如何使用php日期函数从当前年份中获取+50年

你好,

我尝试了以下代码,从当前年份开始获得+50年。但日期函数只允许添加+20年

for($i = date('Y'); $i <= date('Y', strtotime('+50 year')); $i++){
    echo $i.',';
}

如果我加上+50年,那么空白输出显示:

为什么不手动执行呢

$cur_year = date('Y');
for ($i=0; $i<=50; $i++) {
    echo $cur_year++ . ',';
}

为什么不直接手动操作呢

$cur_year = date('Y');
for ($i=0; $i<=50; $i++) {
    echo $cur_year++ . ',';
}

PHP和其他一些语言不能存储2038年以后的日期。这里有一个相关的问题:

PHP和其他一些语言不能存储2038年以后的日期。这里有一个相关的问题:

尝试使用64位体系结构的操作系统和php。这是2038年的问题。阅读更多内容

尝试使用64位体系结构的操作系统和php。这是2038年的问题。阅读更多内容

您可以使用

<?php
for($i = date('Y'); $i <= date('Y') + 50; $i++){
    echo $i.',';
}
?>
你可以用

<?php
for($i = date('Y'); $i <= date('Y') + 50; $i++){
    echo $i.',';
}
?>

尽管在这里的一些答案中有相反的指示,PHP可以存储和操作2038年以后的日期,但是您必须使用类和PHP>=5.3来实现这一点

从手册中:-

日期和时间信息在内部存储为64位数字,因此支持所有可能有用的日期,包括负年份。从过去的2920亿年到未来的2920亿年

这应该足以满足你的需要

实现你想要的最简单的方法是:-

$fiftyYearsFromNow = new \DateTime('+ 50 years');
for($i = new \DateTime(); $i < new \DateTime('+ 50 years'); $i->add(new \DateInterval('P1Y'))){
    echo $i->format('Y') . "<br>\n";
}

还有其他方法,看看这些非常有用的类并了解它们。示例循环的直接转换可能类似于:-

$fiftyYearsFromNow = new \DateTime('+ 50 years');
for($i = new \DateTime(); $i < new \DateTime('+ 50 years'); $i->add(new \DateInterval('P1Y'))){
    echo $i->format('Y') . "<br>\n";
}

.

尽管在这里的一些答案中有相反的指示,PHP可以存储和操作2038年以后的日期,但您必须使用类和PHP>=5.3来执行此操作

从手册中:-

日期和时间信息在内部存储为64位数字,因此支持所有可能有用的日期,包括负年份。从过去的2920亿年到未来的2920亿年

这应该足以满足你的需要

实现你想要的最简单的方法是:-

$fiftyYearsFromNow = new \DateTime('+ 50 years');
for($i = new \DateTime(); $i < new \DateTime('+ 50 years'); $i->add(new \DateInterval('P1Y'))){
    echo $i->format('Y') . "<br>\n";
}

还有其他方法,看看这些非常有用的类并了解它们。示例循环的直接转换可能类似于:-

$fiftyYearsFromNow = new \DateTime('+ 50 years');
for($i = new \DateTime(); $i < new \DateTime('+ 50 years'); $i->add(new \DateInterval('P1Y'))){
    echo $i->format('Y') . "<br>\n";
}

.

最好的捷径是,这里我将从本年度改为+40年度

$value = range(date('Y'),date('Y', strtotime('+40 year')));

最好的捷径是,我从今年到+40年

$value = range(date('Y'),date('Y', strtotime('+40 year')));

您好,马克,谢谢您的回答,但我想从当前年份开始动态添加+50年。@GirishPatidar好的。。。但这就是它的作用,不是吗?它会在当前年份的基础上增加50年……除非突然之间年份的编号有所不同,在执行年份和50年后的某个地方,否则这将输出相同且更快的结果。您好,马克,谢谢您的回答,但我想从当前年份开始动态增加+50年。@GirishPatidar好的。。。但这就是它的作用,不是吗?它在当前年份的基础上增加了50年……除非突然之间年份的编号有所不同,在执行年份和50年后之间的某个地方,否则这将输出相同且更快的结果;它做什么呢?我从来没有在PHP中看到类名前面有反斜杠;PHP和其他一些语言可以存储2038年以后的日期。PHP和其他一些语言可以存储2038年以后的日期。看见