PHP的日期时间函数date()

转Google

1,年-月-日
echo date(‘Y-m-j’);
2007-02-6

echo date(‘y-n-j’);
07-2-6

大写Y表示年四位数字,而小写y表示年的两位数字;
小写m表示月份的数字(带前导),而小写n则表示不带前导的月份数字。

echo date(‘Y-M-j’);
2007-Feb-6

echo date(‘Y-m-d’);
2007-02-06

大写M表示月份的3个缩写字符,而小写m则表示月份的数字(带前导0);
没有大写的J,只有小写j表示月份的日期,无前导o;若需要月份带前导则使用小写d。

echo date(‘Y-M-j’);
2007-Feb-6

echo date(‘Y-F-jS’);
2007-February-6th

大写M表示月份的3个缩写字符,而大写F表示月份的英文全写。(没有小写f)
大写S表示日期的后缀,比如“st”、“nd”、“rd”和“th”,具体看日期数字为何。

小结:
表示年可以用大写的Y和小写y;
表示月可以用大写F、大写M、小写m和小写n(分别表示字符和数字的两种方式);
表示日可以用小写d和小写j,大写S表示日期的后缀。

2,时:分:秒

默认情况下,PHP解释显示的时间为“格林威治标准时间”,与我们本地的时间相差8个小时。

echo date(‘g:i:s a’);
5:56:57 am

echo date(‘h:i:s A’);
05:56:57 AM

小写g表示12小时制,无前导0,而小写h则表示有前导0的12小时制。
当使用12小时制时需要表明上下午,小写a表示小写的“am”和“pm”,大写A表示大写的“AM”和“PM”。

echo date(‘G:i:s’);
14:02:26

大写G表示24小时制的小时数,但是不带前导的;使用大写的H表示带前导的24小时制小时数

小结:
字母g表示小时不带前导,字母h表示小时带前导;
小写g、h表示12小时制,大写G、H表示24小时制。

3,闰年、星期、天

echo date(‘L’);
今年是否闰年:0

echo date(‘l’);
今天是:Tuesday

echo date(‘D’);
今天是:Tue

大写L表示判断今年是否闰年,布尔值,为真返回1,否则为0;
小写l表示当天是星期几的英文全写(Tuesday);
而使用大写D表示星期几的3个字符缩写(Tue)。

echo date(‘w’);
今天星期:2

echo date(‘W’);
本周是全年中的第 06 周

小写w表示星期几,数字形式表示
大写W表示一年中的星期数

echo date(‘t’);
本月是 28 天

echo date(‘z’);
今天是今年的第 36 天

小写t表示当前月份又多少天
小写z表示今天是本年中第几天

4,其他

echo date(‘T’);
UTC
大写T表示服务器的时间区域设置

echo date(‘I’);
0
大写I表示判断当前是否为夏令时,为真返回1,否则为0

echo date(‘U’);
1170769424
大写U表示从1970年1月1日到现在的总秒数,就是Unix时间纪元的UNIX时间戳。

echo date(‘c’);
2007-02-06T14:24:43+00:00
小写c表示ISO8601日期,日期格式为YYYY-MM-DD,用字母T来间隔日期和时间,时间格式为HH:MM:SS,时区使用格林威治标准时间(GMT)的偏差来表示。

echo date(‘r’);
Tue, 06 Feb 2007 14:25:52 +0000
小写r表示RFC822日期。

——————————

[教学]emule图解

总说明:
1.图标说明:
[教学]emule图解 31
正在向这个客户端传送或接收数据
[教学]emule图解 32
客户端在请求或者队列中
[教学]emule图解 33
正在连接这个客户端
[教学]emule图解 34
没有需要的部分、请求另一个文件或者由于是LowID导致无法连接
[教学]emule图解 35
未知状态
[教学]emule图解 36
有新消息
[教学]emule图解 37
普通电驴或者较早版本的电骡客户端
[教学]emule图解 38
客户端可以理解和延伸电骡的协议
[教学]emule图解 39
有高优先权的普通用户
[教学]emule图解 40
客户端可以理解和延伸电骡的协议并且有高优先权
[教学]emule图解 41
mlDonkey客户端
[教学]emule图解 42
有高优先权的mlDonkey客户端
[教学]emule图解 43
eDonkey2000-Overnet-Hybrid客户端
[教学]emule图解 44
有高优先权的eDonkey2000-Overnet-Hybrid客户端
[教学]emule图解 45
Shareaza客户端
[教学]emule图解 46
有高优先权的Shareaza客户端
[教学]emule图解 47
客户端鉴别为安全用户
[教学]emule图解 48
电驴托盘图标(高ID)
[教学]emule图解 49
电驴托盘图标(低ID)
[教学]emule图解 50
电驴托盘图标(未连接服务器)
[教学]emule图解 51
在这个下载中输入了文件注释或者有正面的评定。
[教学]emule图解 52
文件损坏、不完整、有错误等等……
2.进展条的颜色说明:
每一个下载都会有一个工作进展条表示其状态和进程。
[教学]emule图解 53
(平面表达)
[教学]emule图解 54
(立体表达)
黑色:你已经有的部分
红色:所有下载源都缺少的部分
不同明暗度的蓝色:表示文件部分在所有下载源中的有效性。蓝色越深说明有这个部分的下载源越多。
黄色:正在下载的部分。
最上面的那个绿色细长条:表示总进程。
[教学]emule图解 55
(平面表达)
[教学]emule图解 56
(立体表达)
下载完毕
当你双击展开下载(或者单击,这依赖于你的设置),你会看到相应的下载源,他们也有进展条,但是颜色的意义略有不同。
[教学]emule图解 57
(平面表达)
[教学]emule图解 58
(立体表达)
黑色:你已经有的部分
蓝色:你还需要下载的部分
银色:这个源也缺少的部分
绿色:正在下载的部分
黄色:正在请求的部分
来源计算:
在进展条后面有一个来源的数量显示 xx / yy +aa (zz)
xx:有用的源 yy:所有的源 +aa:请求其他文件的源(如果允许高级控制就会显示) zz:目前正在传送数据的源
3.排队下载
你展开下载的时候会看到下载源后面都有个QR[x]。 QR就是Queue Ranking。排队顺序。很显然,x越小越好,说明你排在队伍的前面。
4.ID的解释
ID是从客户端IP计算出来的,当客户端连上服务器的时候,由服务器自动分配。ID的用途是指明2各客户端是否有可能正确连接。
比如:
2004-3-2 14:48:46: 连接建立于:中国1号电驴服务器(主力服务器)
2004-3-2 14:48:46: 新的客户ID为261426479
在客户端右下角会有这样的图标显示:
[教学]emule图解 59
在所有网络中都是高ID
[教学]emule图解 60
在所有网络中都是低ID
一个高ID意味着客户端所需要的特殊传的用来输数据的端口是开放的(默认4662),可自由到达的。
相对的,低ID说明端口是屏蔽的,无法到达的。有可能是防火墙、路由器、代理服务器的原因导致的。
有低ID并不说明不能上传下载,只不过有下列缺点:
所有低ID的机器的排队和连接等信息都要通过服务器来转达,所以导致了服务器的大量负荷,使服务器不能处理更多的用户请求。这样就降低了服务器承受的最大用户数。有些服务器因此限制低ID用户甚至根本封掉了低ID。
两个低ID的客户端不能自己互相连接,这样下载者的源就减少了。
在繁忙的服务器上很可能会导致丢失重要信息包括队列优先级、下载请求等。还会导致降低优先级和更糟的下载情况。
注意:
事实上ID会影响客户端之间传递消息,文件传输还是点对点的。
如果不可能得到一个高ID的话,最好去连接一个用户比较少的服务器。那里有剩余的资源来处理你的问题,总好过你去拥挤的地方受罪。
你也有可能由高ID变成低ID,如果服务器拥挤不堪,以至于不能正确应答。或者服务器根本就配置很差。如果你确定你的设置没问题,你应该有一个高ID的话,请连接别的服务器试试。运行电骡,
点击这个测试程序
来鉴定你的配置。
如果你有高ID,无论多高都一样。再高你也不可能获得更好的下载效果和优势。
低ID同样,多低都没有区别。低ID意味着低于16777216。
比较你的IP和高ID,转换公式是这样的:IP=A.B.C.D 高ID=A+256*B+256*256*C+256*256*256*D

重要:
自从0.23a版本后,低ID源被电骡降低得分,以保证服务器上有最少的低ID数。只有连接到和你的客户端一样的服务器上的、并且想从你这里下载的低ID源是被接受的。
6.评分和得分:
评分:
最初,用户会有一个基本的评分100。这个数值会根据用户需求共享文件以及一些其他因素被修正。
> 禁止的用户 : x [0]
> 低ID : x [0.8]
> 连接者 : x [1.5]
> 有优先权者 : x 1 ~ x 10
> 分享文件的优先级: x 1.8 ~ x 0.2
发布: x 1.8 [x 5]
高: x 0.9 [x 2]
普通: x 0.7 [x 1]
低: x 0.6 [x 0.5]
很低: x 0.2 [x 0.2]
> 低于电骡0.2a版本: x 0.5
举例:一个用户由于上传得很多,而得到高优先权x 8。同时他又在请求一个高优先级的文件,所以他的总评分是:100 x 8 x 0.9 =720
得分:
得分 = 评分 x [队列等待时间[秒]] / 100