Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
奇怪的问题:PHP今年返回了错误的复活节日期_Php_Function_Datetime_Php 7 - Fatal编程技术网

奇怪的问题:PHP今年返回了错误的复活节日期

奇怪的问题:PHP今年返回了错误的复活节日期,php,function,datetime,php-7,Php,Function,Datetime,Php 7,我需要在代码中输入今年的复活节日期。今年的2021年复活节将于4月4日周日举行 但是当我运行echo date('Y-m-d',复活节日期(2021))PHP返回: 2021-04-03 这怎么可能?怎么了?摘自PHP手册: 注: easter_date()依赖于系统的C库时间函数,而不是使用PHP的内部日期和时间函数。因此,easter_date()使用TZ环境变量来确定它应该在哪个时区运行,而不是使用PHP的默认时区,这可能会导致在PHP中将此函数与其他日期函数一起使用时出现意外行为 作为

我需要在代码中输入今年的复活节日期。今年的2021年复活节将于4月4日周日举行

但是当我运行
echo date('Y-m-d',复活节日期(2021))PHP返回:

2021-04-03

这怎么可能?怎么了?

摘自PHP手册:

注: easter_date()依赖于系统的C库时间函数,而不是使用PHP的内部日期和时间函数。因此,easter_date()使用TZ环境变量来确定它应该在哪个时区运行,而不是使用PHP的默认时区,这可能会导致在PHP中将此函数与其他日期函数一起使用时出现意外行为

作为一种解决方法,您可以使用带有DateTime和DateInterval的easter_days()来计算PHP时区中复活节的开始时间,如下所示:


摘自PHP手册:

注: easter_date()依赖于系统的C库时间函数,而不是使用PHP的内部日期和时间函数。因此,easter_date()使用TZ环境变量来确定它应该在哪个时区运行,而不是使用PHP的默认时区,这可能会导致在PHP中将此函数与其他日期函数一起使用时出现意外行为

作为一种解决方法,您可以使用带有DateTime和DateInterval的easter_days()来计算PHP时区中复活节的开始时间,如下所示:


更灵活的方法是使用复活节方法

echo dt::Easter(2021)->format('l, j F Y');
//Sunday,4 April 2021

//Orthodox Easter 2021
echo dt::Easter(2021,dt::EASTER_EAST)->format('l, j F Y'); 
//Sunday, 2 May 2021

复活节方法就是其中的一部分。

更灵活的方法是使用复活节方法

echo dt::Easter(2021)->format('l, j F Y');
//Sunday,4 April 2021

//Orthodox Easter 2021
echo dt::Easter(2021,dt::EASTER_EAST)->format('l, j F Y'); 
//Sunday, 2 May 2021

复活节方法就是其中的一部分。

它确实返回了正确的日期,但您可能没有设置正确的时区。它确实返回了正确的日期,但您可能没有设置正确的时区。很好的解决方法。如何获取4月5日星期日格式?
get_easter\u datetime($year)->format('l,F jS')
It worked,Thankscellent workaround。如何获取4月5日星期日格式?
获取复活节日期时间($year)->格式('l,F jS')
成功了,谢谢
echo dt::Easter(2021)->format('l, j F Y');
//Sunday,4 April 2021

//Orthodox Easter 2021
echo dt::Easter(2021,dt::EASTER_EAST)->format('l, j F Y'); 
//Sunday, 2 May 2021