只想知道 发表于 2015-2-3 23:37:07

PHP教程之php 日期和工夫的处置-郑阿奇(续)

也得学会了PHP。然后再学,见异思迁是最不可取的,狗熊掰玉米就是这个道理,如果经常中途放弃,只能是一无所获,还浪费了N多的时间和经历,得不偿失,最重要的是,你会被别人瞧不起。   1.UNIX工夫戳
phpd 处置数据,出格是对数据库中工夫类型数据停止格局化时,需先将工夫类型的数据转化为UNIX工夫戳停止处置。分歧的数据库体系对工夫类型的数据
不克不及兼容 转换,这时候就需求将工夫转化为UNIX工夫戳。如许京完成了分歧数据库体系的跨平台性。
2.工夫转化为工夫戳
假如要将用字符串表达的日期和工夫转化为工夫戳的模式,可使用strtotime()函数。
语法格局以下:
int strtotime(string $time [, int $now ])
例如:
复制代码 代码以下:
<?php
echo strtotime('2009-03-05'); //输入1236211200
echo strtotime('2009-03-05 10:24:30'); //输入1236248670
echo strtotime("10 September 2000"); //输入968544000
?>

另外一个获得日期的UNIX工夫戳的函数是mktime()函数,
语法格局以下:
int mktime(]]]]])
3.获得日期和工夫
1.data()函数
是将工夫戳照给定的格局转化为详细的日期和工夫字符串。
语法格局以下:
string date(string $format [, int $timestamp ])
申明:
$format指定了转化后的日期和工夫的格局,
$timestamp是需求转化的工夫戳,假如省略则利用当地以后工夫,即默许值为time()函数的值。
time()函数前往以后工夫的工夫戳
date函数的$format参数的取值以下表。
表4.6 date()函数撑持的格局代码
字 符
说 明
前往值例子
d
月份中的第几天,有前导零的2位数字
01~31
D
礼拜中的第几天,用3个字母暗示
Mon到Sun
j
月份中的第几天,没有前导零
1~31
l
礼拜几,完全的文本格局
Sunday~Saturday
N
ISO-8601格局数字暗示的礼拜中的第几天
1(礼拜一)~7(礼拜天)
S
每个月天数前面的英文后缀,用2个字符暗示
st、nd、rd或th,可以和j一同用
w
礼拜中的第几天,数字暗示
0(礼拜天)~6(礼拜六)
z
年份中的第几天
0~366
W
ISO-8601格局年份中的第几周,每周从礼拜一入手下手
例如:42(昔时的第42周)
F
月份,完全的文本格局,如January或March
January~December
m
数字暗示的月份,有前导零
01~12
M
三个字母缩写暗示的月份
Jan~Dec
n
数字暗示的月份,没有前导零
1~12
t
给定月份所应有的天数
28~31
L
是不是为闰年
假如是闰年为1,不然为0
o
ISO-8601格局年份数字。这和Y的值不异,只是假如ISO的礼拜数(W)属于前一年或下一年,则用那一年
例如:1999或2003
Y
4位数字完全暗示的年份
例如:1999或2003
y
2位数字暗示的年份
例如:99或03
a
小写的上午和下战书值
am或pm
A
大写的上午和下战书值
AM或PM
B
Swatch Internet尺度时
000~999
g
小时,12小时格局,没有前导零
1~12
G
小时,24小时格局,没有前导零
0~23
h
小时,12小时格局,有前导零
01~12
H
小时,24小时格局,有前导零
00~23
i
有前导零的分钟数
00~59
s
秒数,有前导零
00~59
e
时区标记
例如:UTC,GMT,Atlantic/Azores
I
是不是为夏令时
假如是夏令时为 1,不然为0
O
与格林尼治工夫相差的小时数
例如:+0200
P
与格林尼治工夫(GMT)的不同,小时和分钟之间用冒号分隔
例如:+02:00
T
本机地点的时区
例如:EST,MDT
Z
时区偏移量的秒数。UTC 西边的时区偏移量老是负的,UTC 东边的时区偏移量老是正的
-43200~43200
c
ISO 8601格局的日期
2004-02-12T15:19:21+00:00
r
RFC 822 格局的日期
Thu, 21 Dec 2000 16:01:07 +0200
U
从UNIX纪元入手下手至今的秒数
time()函数
2.getdate()函数
可以取得日期和工夫信息数组,
语法格局以下:
array getdate([ int $timestamp ])
申明:$timestamp是要转化的工夫戳,假如不给出则利用以后工夫。
函数依据$timestamp前往一个包括日期和工夫信息的数组,数组的键名和值如表4.7所示
键 名
说 明
值 的 例 子
seconds
秒的数字暗示
0~59
minutes
分钟的数字暗示
0~59
hours
小时的数字暗示
0~23
mday
月份中第几天的数字暗示
1~31
wday
礼拜中第几天的数字暗示
0(暗示礼拜天)~6(暗示礼拜六)
mon
月份的数字暗示
1~12
year
4位数字暗示的完全年份
例如:1999或2003
yday
一年中第几天的数字暗示
0~365
weekday
礼拜几的完全文本暗示
Sunday~Saturday
month
月份的完全文本暗示
January~December
0
自UNIX 纪元入手下手至今的秒数
体系相干,典范值从-2147483648~2147483647
4.6.4 其另日期和工夫函数
1.日期和工夫的盘算
复制代码 代码以下:
<?php
$oldtime=mktime(0,0,0,9,24,2008);
$newtime=mktime(0,0,0,10,12,2008);
$days=($newtime-$oldtime)/(24*3600); //盘算两个工夫相差的天数
echo $days; //输入18
?>

2.反省日期
checkdate()函数可以用于反省一个日期数据是不是无效,语法格局以下:
bool checkdate( int $month , int $day , int $year)
复制代码 代码以下:
<?php
var_dump(checkdate(12,31,2000)); //输入bool(TRUE)
var_dump(checkdate(2,29,2001)); //输入bool(FALSE)
?>

3.设置时区
体系默许的是格林尼治本准工夫,所以显示以后工夫时能够与当地工夫会有不同。PHP供应了可以修正时区的函数date_default_timezone_set(),
语法格局以下:
bool date_default_timezone_set (string $timezone_identifier)
参数$timezone_identifier为要指定的时区,
中国大陆可用的值是Asia/Chongqing,Asia/Shanghai,Asia/Urumqi(顺次为重庆,上海,乌鲁木齐)。北京工夫可使用PRC。
4.5实例-生成日历
复制代码 代码以下:
<?php
$year=@$_GET['year']; //取得地址栏的年份
$month=@$_GET['month']; //取得地址栏的月份
if(empty($year))
$year=date("Y"); //初始化为今年度的年份
if(empty($month))
$month=date("n"); //初始化为本月的月份
$day=date("j"); //获得当天的天数
$wd_ar=array("日","一","二","三","四","五","六"); //礼拜数组
$wd=date("w",mktime(0,0,0,$month,1,$year)); //盘算当月第一天是礼拜几
//年链接
$y_lnk1=$year<=1970?$year=1970:$year-1; //上一年
$y_lnk2=$year>=2037?$year=2037:$year+1; //下一年
//月链接
$m_lnk1=$month<=1?$month=1:$month-1; //上个月
$m_lnk2=$month>=12?$month=12:$month+1; //下个月
echo "<table cellpadding=6 cellspacing=0 width=200 bgcolor=#eeeeee><tr align=center bgcolor=#cccccc>";
//输入年份,单击“<”链接跳到上一年,单击“>”链接跳到下一年
echo "<td colspan=4><a href='EX4_15.php?year=$y_lnk1&month=$month'>
<</a>".$year."年<a href='EX4_15.php?year=$y_lnk2&month=$month'>></a></td>";
//输入月份,单击“<”链接跳到上个月,单击“>”链接跳到下个月
echo "<td colspan=3><a href='EX4_15.php?year=$year&month=$m_lnk1'>
<</a>".$month."月<a href='EX4_15.php?year=$year&month=$m_lnk2'>></a></td> </tr>";
echo "<tr align=center>";
for($i=0;$i<7;$i++)
{
echo "<td>$wd_ar[$i]</td> "; //输入礼拜数组
}
echo "</tr>";
$tnum=$wd+date("t",mktime(0,0,0,$month,1,$year)); //盘算礼拜几加受骗月的天数
for($i=0;$i<$tnum;$i++)
{
$date=$i+1-$wd; //盘算日数在表格中的地位
if($i%7==0) echo "<tr align=center>"; //一行的入手下手
echo "<td>";
if($i>=$wd)
{
if($date==$day&&$month==date("n")) //假如是当月确当天则将天数加黑
echo "<b>".$day."</b>";
else
echo $date; //输入日数
}
echo "</td> ";
if($i%7==6) echo "</tr> "; //一行停止
}
echo "</table>";
?>
你的留言本应该加入注册以及分页功能了,而如果你更强的话,UI(用户界面)也可以加强,完成之后,感觉是不是特有成就感?不管怎么样,咱好歹是写了一个动态网站程序了,放在自己的网站上耍耍吧。

海妖 发表于 2015-2-4 03:49:31

当然这种网站的会员费就几十块钱。

灵魂腐蚀 发表于 2015-2-9 15:47:45

小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。

因胸联盟 发表于 2015-2-27 09:01:00

如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,

山那边是海 发表于 2015-2-28 15:29:23

遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。

活着的死人 发表于 2015-3-10 00:23:55

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

老尸 发表于 2015-3-17 03:10:27

你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。

蒙在股里 发表于 2015-3-23 17:09:33

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

若天明 发表于 2015-3-25 12:08:23

当然这种网站的会员费就几十块钱。

admin 发表于 2015-3-25 23:59:11

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

小女巫 发表于 2015-4-8 18:28:43

我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:

第二个灵魂 发表于 2015-4-21 05:10:47

再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。

若相依 发表于 2015-5-4 19:05:59

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

深爱那片海 发表于 2015-5-6 18:17:22

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

柔情似水 发表于 2015-5-6 23:17:47

有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。

兰色精灵 发表于 2015-6-18 22:40:15

我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:

金色的骷髅 发表于 2015-7-8 23:24:53

兴趣是最好的老师,百度是最好的词典。

再现理想 发表于 2015-7-9 09:06:30

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

愤怒的大鸟 发表于 2015-7-17 00:35:11

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

简单生活 发表于 2015-7-17 01:50:01

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
页: [1]
查看完整版本: PHP教程之php 日期和工夫的处置-郑阿奇(续)