文档章节

php日历的快捷实现

inuxor
 inuxor
发布于 2015/12/18 16:45
字数 502
阅读 34
收藏 0

最简单的,输出一个月的所有日期和星期几

<?php
//月初月末怎么获得就不写了,表示个意思
$begin = new DateTime('2015-12-01');
$end = new DateTime('2015-12-31');
$end = $end->modify('+1 day'); 

$interval = new DateInterval('P1D');
$range = new DatePeriod($begin, $interval, $end);

foreach($range as $date){
    $cal[] = $date->format("Ymd 周w");
}

print_r($cal);

输出

Array
(
    [0] => 20151201 周2 
    [1] => 20151202 周3 
    [2] => 20151203 周4 
    [3] => 20151204 周5 
    [4] => 20151205 周6 
    [5] => 20151206 周0 
    [6] => 20151207 周1 
    [7] => 20151208 周2 
    [8] => 20151209 周3 
    [9] => 20151210 周4 
    [10] => 20151211 周5 
    [11] => 20151212 周6 
    [12] => 20151213 周0 
    [13] => 20151214 周1 
    [14] => 20151215 周2 
    [15] => 20151216 周3 
    [16] => 20151217 周4 
    [17] => 20151218 周5 
    [18] => 20151219 周6 
    [19] => 20151220 周0 
    [20] => 20151221 周1 
    [21] => 20151222 周2 
    [22] => 20151223 周3 
    [23] => 20151224 周4 
    [24] => 20151225 周5 
    [25] => 20151226 周6 
    [26] => 20151227 周0 
    [27] => 20151228 周1 
    [28] => 20151229 周2 
    [29] => 20151230 周3 
    [30] => 20151231 周4 
)

补全前后几天

<?php

$begin = new DateTime('2015-12-01');
$sub = $begin->format("N") - 1;
$sub && $begin->sub(new DateInterval('P' . $sub . 'D'));

$end = new DateTime('2015-12-31');
$add = 7 - $end->format("N");
$add && $end->add(new DateInterval('P' . $add . 'D'));

$end = $end->modify('+1 day'); 

$interval = new DateInterval('P1D');
$range = new DatePeriod($begin, $interval, $end);

foreach($range as $date){
    $cal[] = $date->format("Ymd 周N");
}

print_r($cal);

输出

Array
(
    [0] => 20151130 周1
    [1] => 20151201 周2
    [2] => 20151202 周3
    [3] => 20151203 周4
    [4] => 20151204 周5
    [5] => 20151205 周6
    [6] => 20151206 周7
    [7] => 20151207 周1
    [8] => 20151208 周2
    [9] => 20151209 周3
    [10] => 20151210 周4
    [11] => 20151211 周5
    [12] => 20151212 周6
    [13] => 20151213 周7
    [14] => 20151214 周1
    [15] => 20151215 周2
    [16] => 20151216 周3
    [17] => 20151217 周4
    [18] => 20151218 周5
    [19] => 20151219 周6
    [20] => 20151220 周7
    [21] => 20151221 周1
    [22] => 20151222 周2
    [23] => 20151223 周3
    [24] => 20151224 周4
    [25] => 20151225 周5
    [26] => 20151226 周6
    [27] => 20151227 周7
    [28] => 20151228 周1
    [29] => 20151229 周2
    [30] => 20151230 周3
    [31] => 20151231 周4
    [32] => 20160101 周5
    [33] => 20160102 周6
    [34] => 20160103 周7
)

具体怎么输出表格就不写了,都会

© 著作权归作者所有

共有 人打赏支持
inuxor
粉丝 33
博文 25
码字总数 14462
作品 0
技术主管
私信 提问
透过Sharepoint 2010 使得大家在时间上更好的配合

最近在和客户的探讨中,发现在企业业务应用中,大家都比较关心协作相关的问题。 而咱家公司的IT环境中正巧使用了SharePoint 2010作为实现协作的途径之一。用的久了自然有些心得。 所以今天咱...

angerfire
2010/12/30
0
0
BMForum

BMForum 是一款应用于个人、商业领域的基于MySQL数据库新型 PHP论坛程序。作为一个 完全开放源代码 的论坛程序,BMForum 以强大的功能和易用的人性化功能、方便的管理,同时兼顾了在大型论坛...

匿名
2008/11/18
1K
0
日历控件tbdcalendar-1.2.1介绍

tbdcalendar日历控件描述 名称:tbdcalendar 中文名:透笔度日历控件 tbdcalendar一款无任何类库依赖的日历控件,基于原生js开发,可在任意环境下使用,兼容ie6 7,主流浏览器,移动设备 下载...

透笔度
2016/04/15
123
0
PHP-Push-2

费尽心思弄好了z-push如果不弄Z-Push Zimbra Backend的话才发现只支持IMAP同步邮件,想同步联系人和日历怎么办? Github上发现了这个z-push的分支。可以让你的ActiveSync不仅支持IMAP邮件同时...

匿名
2013/04/06
994
1
Fedora 23 Workstation 新特性介绍

Fedora 23 Workstation 已经发布。这是一个可靠的、易用的、功能强大的操作系统,用户群为家庭用户、爱好者、学生和软件开发者。Fedora 23 Workstation 包含最新的来自 GNOME 社区的GNOME 3...

被盗用户
2015/11/04
4K
25

没有更多内容

加载失败,请刷新页面

加载更多

指针数组和数组指针的区别

这两个名字不同当然所代表的意思也就不同。我刚开始看到这就吓到了,主要是中文太博大精深了,整这样的简称太专业了,把人都绕晕了。从英文解释或中文全称看就比较容易理解。 指针数组:arr...

天王盖地虎626
36分钟前
2
0
Qt那些事0.0.18

今天要记一下Qt中的Resource。自我感觉理解的不错,但是还会难免有谬误,在日后有可能会更新,也有可能不会。 小声的念叨一句,女人心,海底针。 今天就直接跳过了关于QML在qrc文件中的介绍,...

Ev4n
44分钟前
2
0
深入解析js的作用域、预解析机制

虽然,ES6在我们工作中应用得越来越广泛,但是还是很多项目保留着ES5的写法,所以,今天,带着大家重新巩固下ES5下的作用域及预解析机制。 概念: 作用域:域,指的是一个空间、范围、区域,...

前端攻城老湿
47分钟前
2
0
Spring Cloud Feign - 声明式 REST Client

1、Feign是什么 声明式REST client,来自NetFlix。 允许你编写无实现代码调用REST services 替换RestTemplate(甚至更简单) Spring Cloud 为使用Feign提供了包装器 2、怎样使用Feign 对比:...

Benz001
52分钟前
4
0
前端、后端和全栈到底不该学什么

1、前言 在职业规划咨询过程中经常会被问到这样的问题: 老师,我是该深入钻研专精一门,走技术大牛路线,还是所有都要精通,做一个全栈工程师? 类似问题的变种还有,老师我是不是该30岁最迟...

前端攻城小牛
54分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部