今天我们就用php中的数组合date 做一个日历。

先让我们回顾一下PHP里面的date 。

1、时间戳:表示从计算机元年/UNIX纪年(0时区 1970/1/1 00:00:00)到当前事件的秒数。是一个长整形的数字。

2、取到时间戳的函数:

① time():返回当前时间的时间戳;

② mktime():根据设置的时间,返回时间戳。

设置的格式:时,分,秒,月,日,年

③ strtotime():将输入的字符串日期转为时间戳;

eg:echo strtotime("2017-06-02 09:42:00");

echo strtotime("July 1st, 2008 09:42:00");

echo strtotime("now");

echo strtotime("+1 day");

3、时间戳的格式化:

① 使用getdate()函数:(并不常用);

返回一个数组,数组的键值如下

'seconds' => int 47 秒

'minutes' => int 56 分

'hours' => int 9 小时

'mday' => int 2 一个月的第几天

'wday' => int 5 一个周的第几天

'mon' => int 6 数组的几月

'year' => int 2017 年份

'yday' => int 152 一年中的第几天

'weekday' => string 'Friday' (length=6) 字符串的英文周几

'month' => string 'June' (length=4) 字符串的英文月份

0 => int 1496368607 原始的时间戳

② 使用date()函数:非常常用

String date(String "格式化字符串"[,int 时间戳 = time()]);

格式化的字符串:

Y:四位数年 m:月01-12 n:月1-12 d:天01-31 j:天1-31

H:时24时制 h:小时12制 i:分钟00-59 s:秒00-59 w:星期几0-6

A:上午AM或下午PM a:上午am或下午pm。

4、时区设置:

① 修改php.ini配置文件:

date.timezone = Etc/GMT-8

② 使用date_default_timezone_set();函数

date_default_timezone_set("Etc/GMT-8");//直接指定时区,西加东减

date_default_timezone_set("PRC");//中华人民共和国

date_default_timezone_set("Asia/Shanghai");//亚洲上海

取到当前时区设置:date_default_timezone_get();

5、了解microtime(true);取到从计算机元年到现在的微秒数;

默认显示为0.78026400 1496372572 单位为秒,前面是小数点后部分,后面为小数

下面我们就开始写代码喽!

date_default_timezone_set("PRC");

//取到 年  月  日

$time = getdate();

$mday = $time["mday"];

$mon = $time["mon"];

$year = $time["year"];

//判断一下一年中各个月份有几天的情况

if($mon==4||$mon==6||$mon==9||$mon==11){

$day = 30;

}elseif($mon==2){

if(($year%4==0&&$year%100!=0)||$year%400==0){

$day = 29;

}else{

$day = 28;

}

}else{

$day = 31;

}

//取到这个月的1号是第几天,

$w = getdate(mktime(0,0,0,$mon,1,$year))["wday"];

//制作日历的大框架。用for遍历数组,打印出一个日历的格式。

$date = function($day,$w){

echo "

echo "

星期日星期一星期二星期三星期四星期五星期六";

$arr = array();

for($i=1;$i<=$day;$i++){

array_push($arr,$i);

}

if($w>=1&&$w<=6){

for($m=1;$m<=$w;$m++){

array_unshift($arr,"");

}

}

$n=0;

for($j=1;$j<=count($arr);$j++){

$n++;

if($n==1) echo "

";

global $mday;

if($mday==$arr[$j-1]){

//把今天的这一天加一个颜色

echo "

".$arr[$j-1]."";

}else{

echo "

".$arr[$j-1]."";

}

if($n==7){

echo "

";

$n=0;

}

}

if($n!=7)echo "";

echo "

";

};

$date($day,$w);

这是效果图。

这样我们的一个简单的日历就做完了。

用JAVA写一个日历计划

效果图(自己需要在前台加css修饰)

调用Android自带日历功能(日历列表单、添加一个日历事件)

调用Android自带日历功能  觉得这篇文章不错,转载过来. 转载:http://blog.csdn.net/djy1992/article/details/9948393 Android手机配备有 ...

Android 一个日历控件的实现代码

转载  2017-05-19   作者:Othershe   我要评论 本篇文章主要介绍了Android 一个日历控件的实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看 ...

cal - 显示一个日历

总览 cal [-mjy ] [月份 [年份 ] ] 描述 Cal 显示一个简单的日历.. 如果没有指定参数, 则显示当前月份. 选项如下所列: -m 显示星期一作为一周的第一天.. (缺省为星期日. ...

用JAVA代码构造一个日历

package day0603; import java.text.ParseException; import java.text.SimpleDateFormat; import java.uti ...

2017&period;12&period;2 用java做一个日历

1.先判断输入的日期是否为闰年 2.在判断输入的月份是否为2月 3.在获取输入的年份和月份的1月1日 的列数 4.在输出 import java.util.*; public class demo{ ...

django项目使用layui插件给网站设置一个日历挂件,很简单实用。

进入https://www.layui.com/首页下载layui文件 下载解压后把文件放在static静态文件中, html页面引入css和js

用php打印出日历_PHP完成一个日历相关推荐

  1. python3 字典打印_Python3基础 dict items 以元组的形式打印出字典的每一个项

    Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda : 4.5.11 typesetting : Markdown ...

  2. 利用html写一个日历,Vue写一个日历

    基础回顾 关于 Date API getFulleYear(); // 年 getMonth(); // 月, 0-11 getDate(); // 日,也就是几号 getDay(); // 星期几, ...

  3. 用php打印出日历_PHP实现简单的日历程序

    说到对日期和时间的处理,就一定要介绍一下日历程序的编写,大多数读者可能都会认为日历的作用只是为了在页面上显示当前的日期,其实不然,日历在我们的开发中有着更重要的作用.例如,我们开发一个"记事 ...

  4. 用php打印出日历_php简单日历函数

    这篇文章主要介绍了php简单日历函数,没有选择比较常见的用js生成的日历,而是用php输出了一个日历表格,感兴趣的小伙伴们可以参考一下 本文实例讲述了php实现的日历程序.分享给大家供大家参考.具体如 ...

  5. 运用c++打印一个日历

    运用c++打印一个日历 题目:输入年份和月份,按照下列格式打印日历, 已知条件:1900年1月1日是星期一. 2021年3月 日 一 二 三 四 五 六 1 2 3 4 5 6 //- 28 29 3 ...

  6. java日历打印出的格式不对_Java打印某年某月的日历 没有错误但是运行出的月份与实际不符 求大神指导...

    Java打印某年某月的日历 没有错误但是运行出的月份与实际不符 求大神指导 我看了一下日历,发现你打出来的其实是九月份而不是八月份,那么我猜在showPrint这里的第二个参数是从0开始的,即0~11 ...

  7. 【SQL开发实战技巧】系列(十九):数据仓库中时间类型操作(进阶)如何一个SQL打印当月或一年的日历?如何确定某月内第一个和最后—个周内某天的日期?

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

  8. Algs4-1.1.13编写一段代码,打印出一个M行N列的二维数组的转置(交换行和列)

    1.1.13编写一段代码,打印出一个M行N列的二维数组的转置(交换行和列). public  class Test {     public static void main(String[] arg ...

  9. ACMNO.10打印出所有水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该本身。 例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 Output: 153 ???

    题目描述 打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身. 例如:153是一个水仙花数,因为153=1^3+5^3+3^3. ...

  10. ajax请求成功之后,自动打开一个空白页面,并打印出了返回内容

    一.问题描述 ajax请求成功之后,自动打开一个空白页面,并打印出了返回内容,返回值是规定的success内容:{code: "200", msg: "请求成功" ...

最新文章

  1. 常考数据结构与算法:进制转换
  2. 搭建基于虚拟账号的电子邮件系统
  3. JAVA客户端数据传输_java模拟TCP通信实现客户端上传文件到服务器端
  4. H264 RTP头分析
  5. 安卓 usb音量调节_戴尔推出面向Teams和Zoom视频通话的USB-C免提适配器
  6. python环境变量添加失败_python环境变量设置失败
  7. p44_IP数据包格式
  8. 日报系统、周报系统如何便捷使用?——领导篇
  9. 进程调度算法比较例题
  10. H5页面内实现分享给微信好友功能
  11. vs2010和matlab混合编程,VS2010与Matlab2010b混合编程
  12. 观远数据带你乘云驾“务”,让决策更智能
  13. Elasticsearch 的 Task 停止方法
  14. 机器学习中的启发式算法(heuristic algorithm)
  15. 北京理工大学抢课教程
  16. 麻雀租房App 作品展示
  17. js中对数组的增删方法:push(),pop(),unshift(),shift(),splice()的用法小结
  18. outlook响应服务器450,与 Office 365 一起使用时,Outlook 崩溃或停止响应 - Exchange | Microsoft Docs...
  19. 问题解决:Docker之DOCKER_OPTS参数不生效
  20. 计算机组装中RESET,专家解惑:有些品牌机为何没Reset键

热门文章

  1. FCM-模糊C均值聚类算法简介及C++实现代码
  2. Java IO流经典实例
  3. [渝粤教育] 西南科技大学 机械设计基础 在线考试复习资料
  4. Kconfig配置文件
  5. 微信小程序点击图片放大图片
  6. linux的软件源修改
  7. 7. 堆(宋红康笔记)
  8. FFT运算的加深理解——频谱泄露
  9. 二总线芯片RF601
  10. 云网融合个人学习--云网融合典型场景分析【摘抄】