分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

PHP随手记1--内置函数date

发布时间:2023-09-06 01:29责任编辑:顾先生关键词:PHP

1. date_default_timezone_set

date_default_timezone_set — 设定用于一个脚本中所有日期时间函数的默认时区

在php中只用 mktime() 函数时有时会报错,解决办法是在<?php 后加一行

date_default_timezone_set(‘Asia/ShangHai‘);

2. date内置函数参数列表

date — 格式化一个本地时间/日期

说明:

string date ( string $format [, int $timestamp ] )

返回将整数 timestamp 按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp 是可选的,默认值为 time()。

下面表格引用自php官方手册,放在这里方便查阅:

d月份中的第几天,有前导零的 2 位数字0131
D星期中的第几天,文本表示,3 个字母MonSun
j月份中的第几天,没有前导零131
l(“L”的小写字母)星期几,完整的文本格式SundaySaturday
NISO-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加)1(表示星期一)到 7(表示星期天)
S每月天数后面的英文后缀,2 个字符stndrd 或者 th。可以和 j 一起用
w星期中的第几天,数字表示0(表示星期天)到 6(表示星期六)
z年份中的第几天0366
星期------
WISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的)例如:42(当年的第 42 周)
------
F月份,完整的文本格式,例如 January 或者 MarchJanuaryDecember
m数字表示的月份,有前导零0112
M三个字母缩写表示的月份JanDec
n数字表示的月份,没有前导零112
t给定月份所应有的天数2831
------
L是否为闰年如果是闰年为 1,否则为 0
oISO-8601 格式年份数字。这和 Y 的值相同,只除了如果 ISO 的星期数(W)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加)Examples: 1999 or 2003
Y4 位数字完整表示的年份例如:19992003
y2 位数字表示的年份例如:9903
时间------
a小写的上午和下午值ampm
A大写的上午和下午值AMPM
BSwatch Internet 标准时000999
g小时,12 小时格式,没有前导零112
G小时,24 小时格式,没有前导零023
h小时,12 小时格式,有前导零0112
H小时,24 小时格式,有前导零0023
i有前导零的分钟数0059>
s秒数,有前导零0059>
时区------
e时区标识(PHP 5.1.0 新加)例如:UTCGMTAtlantic/Azores
I是否为夏令时如果是夏令时为 1,否则为 0
O与格林威治时间相差的小时数例如:+0200
P与格林威治时间(GMT)的差别,小时和分钟之间有冒号分隔(PHP 5.1.3 新加)例如:+02:00
T本机所在的时区例如:ESTMDT(【译者注】在 Windows 下为完整文本格式,例如“Eastern Standard Time”,中文版会显示“中国标准时间”)。
Z时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。-4320043200
完整的日期/时间------
cISO 8601 格式的日期(PHP 5 新加)2004-02-12T15:19:21+00:00
rRFC 822 格式的日期例如:Thu, 21 Dec 2000 16:01:07 +0200
U从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数参见 time()

  

eg:date()函数现实一个时间

  

1 <?php2 echo date("Y-m-d H:i:s",time());3 echo "<br />";4 echo date("Y-m-d H:i:s",mktime(13,55,0,12,6,2017));5 echo "<br />";

  结果显示为:

  

   参数中识别不了的元素会保留下来,用js需要一大串代码的功能,php一行代码就能实现!!!

3. php实现两个时间的差值和简单日历显示

 1 <meta charset="UTF-8" /> 2 <?php 3 date_default_timezone_set("Asia/ShangHai"); 4 echo "<h1>自定义一个函数,返回一个时间差(XX天XX小时XX分钟XX秒)</h1>"; 5 ?6 function get_time_diff($time1=0,$time2=0){ 7 ????if($time1==0&&$time2==0){ 8 ????????$diff = time(); 9 ????}elseif($time1>0&&$time2==0){10 ????????$diff = $time1;11 ????}else{12 ????????$diff = abs($time1-$time2);13 ????}14 15 ????$s = $diff%60;16 ????$i = floor($diff%3600/60);17 ????$h = floor($diff%(3600*24)/3600);18 ????$d = floor($diff/(3600*24));19 20 ????return "<p>".$d."天".$h."小时".$i."分钟".$s."秒</p>";21 22 }23 echo date("Y-m-d H:i:s");24 echo get_time_diff();25 echo get_time_diff(mktime(0,0,0,1,2,1970));26 echo get_time_diff(mktime(0,0,0,12,8,2017),mktime(0,0,0,12,5,2017));27 28 echo "<h1>自定义一个函数,输出一个日历</h1>";29 30 function calendar($time=0){31 ????$time = $time>0?$time:time();32 33 ????$days = date("t",$time); //当月的总天数34 35 ????$first_day = date("w",mktime(0,0,0,date("n",$time),1,date("Y",$time))); //当月1号是星期几36 37 ????$rows = ceil(($days+$first_day)/7); //日历动态部分的行数38 39 ????$count = 1;40 41 ????$current_day = date("j",$time); //当天是几号42 43 ????echo "<table border=‘1‘>";44 ????echo "<tr><th colspan=‘7‘>".date("Y年m月",$time)."</th></tr>";45 ????echo "<tr><th>日</th><th>一</th><th>二</th><th>三</th><th>四</th><th>五</th><th>六</th></tr>";46 ????for($i=1;$i<=$rows;$i++){47 ????????echo "<tr>";48 ????????for($j=0;$j<7;$j++){49 50 ????????????if( ($i==1&&$j<$first_day) || ($i==$rows&&$count>$days) ){51 ????????????????echo "<td>&nbsp;</td>";52 ????????????}else{53 ????????????????if($count==$current_day){54 ????????????????????echo "<td style=‘color:red;‘>".$count."</td>";55 ????????????????}else{56 ????????????????????echo "<td>".$count."</td>";57 ????????????????}58 ????????????????$count++;59 ????????????}60 61 ????????}62 ????????echo "</tr>";63 ????}64 ????echo "</table>";65 }66 calendar();67 calendar(mktime(0,0,0,10,1,2008));

运行结果如下:

PHP随手记1--内置函数date

原文地址:http://www.cnblogs.com/share-all/p/8006719.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved