- 40
- 0
這是一個php完整的日曆系統
class Calendar {
public function __construct(){
$this->naviHref = htmlentities($_SERVER['PHP_SELF']);
}
/********************* PROPERTY ********************/
private $dayLabels = array("一","二","三","四","五","六","日");
private $currentYear=0;
private $currentMonth=0;
private $currentDay=0;
private $currentDate=null;
private $daysInMonth=0;
private $naviHref= null;
/********************* PUBLIC **********************/
public function show() {
@$year == null;
@$month == null;
if(null==@$year&&isset($_GET['year'])){
@$year = $_GET['year'];
}else if(null==@$year){
@$year = date("Y",time());
}
if(null==@$month&&isset($_GET['month'])){
$month = $_GET['month'];
}else if(null==@$month){
$month = date("m",time());
}
$this->currentYear=$year;
$this->currentMonth=$month;
$this->daysInMonth=$this->_daysInMonth($month,$year);
$content='<div id="calendar">'.
'<div class="box">'.
$this->_createNavi().
'</div>'.
'<div class="box-content">'.
'<ul class="label">'.$this->_createLabels().'</ul>';
$content.='<div class="clear"></div>';
$content.='<ul class="dates">';
$weeksInMonth = $this->_weeksInMonth($month,$year);
// Create weeks in a month
for( $i=0; $i<$weeksInMonth; $i++ ){
//Create days in a week
for($j=1;$j<=7;$j++){
$content.=$this->_showDay($i*7+$j);
}
}
$content.='</ul>';
$content.='<div class="clear"></div>';
$content.='</div>';
$content.='</div>';
return $content;
}
/********************* PRIVATE **********************/
private function _showDay($cellNumber){
if($this->currentDay==0){
$firstDayOfTheWeek = date('N',strtotime($this->currentYear.'-'.$this->currentMonth.'-01'));
if(intval($cellNumber) == intval($firstDayOfTheWeek)){
$this->currentDay=1;
}
}
if(($this->currentDay!=0)&&($this->currentDay<=$this->daysInMonth)){
$this->currentDate = date('Y-m-d',strtotime($this->currentYear.'-'.$this->currentMonth.'-'.($this->currentDay)));
$cellContent = $this->currentDay;
$this->currentDay++;
}else{
$this->currentDate =null;
$cellContent=null;
}
return '
<li id="li-'.$this->currentDate.'" class="'.($this->currentDate==date("Y-m-d")?'today':'').' relative '.($cellNumber%7==1?' start ':($cellNumber%7==0?' end ':' ')).
($cellContent==null?'mask':'').'">'.($cellContent==null?'':'
<span class="cellContent">'.$cellContent.'</span>
<div class="avatar_review_layout">
<span data-today="'.$cellContent.'" data-date="'.$this->currentDate.'"
class="pointer relative addicon add_'.$this->currentDate.'"><span class="plus">+</span></span>
</div>
').'</li>';
}
private function _createNavi(){
$nextMonth = $this->currentMonth==12?1:intval($this->currentMonth)+1;
$nextYear = $this->currentMonth==12?intval($this->currentYear)+1:$this->currentYear;
$preMonth = $this->currentMonth==1?12:intval($this->currentMonth)-1;
$preYear = $this->currentMonth==1?intval($this->currentYear)-1:$this->currentYear;
return
'<div class="header">'.
'<a class="prev" href="'.$this->naviHref.'?month='.sprintf('%02d',$preMonth).'&year='.$preYear.'">← '.$preMonth.' 月</a>'.
'<span class="title">'.date('Y 年 n 月',strtotime($this->currentYear.'-'.$this->currentMonth.'-1')).'</span>'.
'<a class="next" href="'.$this->naviHref.'?month='.sprintf("%02d", $nextMonth).'&year='.$nextYear.'">'.$nextMonth.' 月 →</a>'.
'</div>';
}
private function _createLabels(){
$content='';
foreach($this->dayLabels as $index=>$label){
$content.='<li class="'.($label==6?'end title':'start title').' title">'.$label.'</li>';
}
return $content;
}
private function _weeksInMonth($month=null,$year=null){
if( null==($year) ) {
$year = date("Y",time());
}
if(null==($month)) {
$month = date("m",time());
}
// find number of days in this month
$daysInMonths = $this->_daysInMonth($month,$year);
$numOfweeks = ($daysInMonths%7==0?0:1) + intval($daysInMonths/7);
$monthEndingDay= date('N',strtotime($year.'-'.$month.'-'.$daysInMonths));
$monthStartDay = date('N',strtotime($year.'-'.$month.'-01'));
if($monthEndingDay<$monthStartDay){
$numOfweeks++;
}
return $numOfweeks;
}
private function _daysInMonth($month=null,$year=null){
if(null==($year))
$year = date("Y",time());
if(null==($month))
$month = date("m",time());
return date('t',strtotime($year.'-'.$month.'-01'));
}
}
$calendar = new Calendar();
echo $calendar->show();
其中有一段return是:
return '
<li id="li-'.$this->currentDate.'" class="'.($this->currentDate==date("Y-m-d")?'today':'').' relative '.($cellNumber%7==1?' start ':($cellNumber%7==0?' end ':' ')).
($cellContent==null?'mask':'').'">'.($cellContent==null?'':'
<span class="cellContent">'.$cellContent.'</span>
<div class="avatar_review_layout">
<span data-today="'.$cellContent.'" data-date="'.$this->currentDate.'"
class="pointer relative addicon add_'.$this->currentDate.'"><span class="plus">+</span></span>
// 讓迴圈能夠在這裡運作
</div>
').'</li>';
我想將
foreach($driver_shift_get_all->{'driver-shifts'} as $value):
echo "<br>".$value->date."<br>";
print_r($value->{'drivers-available'});
endforeach;
加入到這個return
但無法加入.....會有各種問題
請問這能怎麼解?
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
前世情未了 VIP会员 1楼
在PHP中,我们可以使用DateTime对象来创建日期和时间。然后,我们可以使用foreach循环来遍历这些日期和时间。
以下是一个简单的例子,它创建了一个新的日历实例,并添加了一些日期和时间:
```php
new DateTime('2022-01-01'), '2022-01-02' => new DateTime('2022-01-02'), '2022-01-03' => new DateTime('2022-01-03'), '2022-01-04' => new DateTime('2022-01-04'), ]; foreach ($events as $event) { echo $event->format('Y-m-d H:i:s') . "\n"; } ?>```
在这个例子中,我们首先定义了一个包含日期和时间的数组。然后,我们使用foreach循环遍历这个数组。对于每次迭代,我们都使用DateTime对象来创建一个新的日期和时间,并将其格式化为字符串。最后,我们打印出每个日期和时间的字符串表示。
注意,日期和时间的格式可能会根据你的PHP环境和日期和时间的设置有所不同。如果你的日期和时间的格式不正确,你可能需要调整DateTime对象的构造函数以使其符合你的需求。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
