[Zend权威认证试题讲解]第七章 - 管理日期与时间
从某一点上来看,几乎所有的网站都需要处理日期与时间。假如你需要收集用户的生日,或者记录某个特定事件的发生时间,PHP的日期函数将很好的帮助你完成任务。F.H*U wm%_但是PHP的日期/时间管理功能并不完美。它基于UNIX时间戳运行,容易受到攻击,作为开发者,你必须谨慎处理可能遇到的恶意数据。
同时,在Web上进行日期管理是一件国际性的事务。你必须能依据时区、地区的不同来显示对应的日期信息。
本章测试题将考察以上所述的全部内容。
问题B!c|$[Eo,s,j}
1.以下脚本在Windows系统上输出什么?[code] s `7B;`"d-l9j
<?php
echo strtotime ("November 11, 1952");
?>[/code]A.-14462
B.14462
C.-1"C"{C;ciJ"KT$p
D.0#]/JwB+^ C
E.一个错误r1B7c!dr.eT$OL
DRCyFJDH,xv
2.哪个函数能根据区域设置来格式化输出一个时间戳?
答案:__________
0f/ii.ns
J5m+m)],v |Z'b
3.以下脚本是做什么的?[code] |cK2O:p4i\
<?phpzEnK.R+}oK!G
$a = array_sum (explode (' ', microtime()));)v{3Y+k/A0G
for ($i = 0; $i < 10000; $i++);yj+x^ p
$b = array_sum (explode (' ', microtime()));s C;E'u~2OvP
echo $b - $a;
?>[/code]A.测算for循环的执行时间
B.测定服务器的时钟频率
C.计算操作系统的硬件时钟频率与软件时钟频率的差/{-t&Ho5K
D.测算for循环、一个array_sum()函数与一个microtime()的总执行时间fO#G:J"@!A_
E.测算for循环、两个array_sum()函数与两个microtime()的总执行时间
@0c5S UQ|
4.以下脚本的标记处应该填入什么函数?[code]
<?php
for ($i = 0; $i < 100; $i++) {
$day = rand (1, 31);
$month = rand (1, 12);8^FN Qt+U jc b3GH
$year = rand (1000, 2500);R8p-D$FQW\0`z_
if (????????? ($month, $day, $year)) {_ M U At0G4t$@w
echo "$month/$day/$year is a valid date\n";R%^v$D"w
} else {
echo "$month/$day/$year is not a valid date\n";
}$e*ya2~.Ah.s/c4A4[9p
}8A!fM:eU
?>[/code]A.date();Dl-X CY~%T
B.strftime()!Q$hd;m1g Zd|$j
C.microtime()
D.checkdate()
E.mktime()
lp-Zc5}$]K
5.以下脚本在Windows系统中输出什么?[code] 8JVEfJ*H
<?phpR0M f+l(I/]
echo mktime (0, 0, 0, 11, 11, 1952); // November 11, 19525Cn:j?"E.V#UK.L0C4`
?>[/code]A.一个警告
B.一个错误
C.-1和一个警告pm%o/P5s%bO {
D.-14462R@5a9L i Z7o"t_O7Y
E.一个提示,指出mktime不支持种输入|2nX6@.}5E Q-A6Y
%~5_P(eg;PS"k
6.EST是CST之前的一个时区(就是说任何时候EST都比CST晚一个小时)。那么以下脚本输出什么?[code] 3__C1h-dIU"T"d8h
<?php
$a = strtotime ('00:00:00 Feb 23 1976 EST');],xTd}I:N9@-q
$b = strtotime ('00:00:00 Feb 23 1976 CST');3y0W%U8J(]'[2]
echo $a - $b;
?>[/code]A.-3600
B.3600
C.0
D.-1
E.1
w3W6Ue9]U?|
7.处理数据库中读取的日期数据时,以下那种方法有助于避免bug?(三选)
A.确保日期数据与服务器使用相同的时区m sgk%i cs/I
B.如果日期需要被转换成UNIX时间戳进行操作,要确保结果不会溢出
C.用数据库功能测试日期的合法性)RgUJ Rhp
D.如果可能,用数据库功能计算日期的值
E.用代码控制日期只能在PHP中进行处理$xz&CLD'?eQ [0V
6Qx#gkof\MYmF#B
8.在时区设置为Moscow, Russia的Windows操作系统上运行以下脚本,将输出什么?[code]
<?php_'e@"`-R7A"Ua.SJ]t
echo gmmktime(0, 0, 0, 1, 1, 1970);3_8t(M WP
?>[/code]A.输出数字09b[u3va1`
B.输出数字-13D'dgj1o%V
C.输出数字11EM yy.\
D.报错
E.什么都不输出8e$_:?$f}0~(bQ-S
9.以下哪个选项对time函数的描述最准确?