Php 日历日期返回-1天,有什么问题,替代解决方案?
我试图回到日历上的某一天——我做错了什么 我的方法:Php 日历日期返回-1天,有什么问题,替代解决方案?,php,date,calendar,Php,Date,Calendar,我试图回到日历上的某一天——我做错了什么 我的方法: $weekdays=数组('Mon','Tue','Wed','Thu','Fri','Sat','Sun'); /////// 函数getDates($year){ $dates=array(); 日期(“L”,mktime(0,0,0,7,7,$year))?$days=366:$days=365; /// 对于($i=1;$i$weeks){ 回声'; 回声'; 回音“.$year.”.$month.”; 回声'; 回声“W”; 回声“
$weekdays=数组('Mon','Tue','Wed','Thu','Fri','Sat','Sun');
///////
函数getDates($year){
$dates=array();
日期(“L”,mktime(0,0,0,7,7,$year))?$days=366:$days=365;
///
对于($i=1;$i$weeks){
回声';
回声';
回音“.$year.”.$month.”;
回声';
回声“W”;
回声“”。内爆(“”,$weekdays)。“”;
回声';
回声';
foreach($周为$周=>$天){
回显'.$countW++.';
foreach($day为工作日){
回声';
/*我在这里不知所措*/
echo isset($days[$day])?$days[$day]:日期('d',strottime('-1天));//输出为5
回声';
}
回声';
}
回声';
回声';
}
我尝试了以下代码:
date('d',strotime('-1天))//输出:5(今天是6)
$jd=gregoriantojd(01,062020);echo jddayofweek($jd,2);//输出:周一(今天是周二)
这将是一个超级简单的问题解决方案。如果不是,你需要调整你的思维(和代码!)。在1月的第一周,周一和周二的日期是从1月的第一天开始的-2和-1。同样,在最后一周,从2月的第一天开始的日期是-2和-1(或者从1月的最后一天开始的日期是+1和+2).你为什么要使用mktime?@Dharman我使用mktime好几次!哪一次?所有的。为什么要使用这个古老的函数?你有什么样的用例来代替DateTime类?@Dharman我不知道如何更好地解决这个问题。我很确定GitHub上有完整的日历库。我理解自己制作它的乐趣,但在在某些情况下,最好使用现有的