1、六、日期和时间,本章内容,获取当前时间和日期 格式化日期和时间 unix时间戳 系统时区的设置,处理日期和时间,获取日期和时间 检验日期和时间 格式化输出日期和时间 显示本地化时间,date(),string date(string format,int timestamp) 该函数返回format指定的时间或时间格式的字符串。 如果使用timestamp可选参数,则以指定时间戳格式显示,否则则使用当前的unix时间戳等同于使用time(),date()函数格式化参数,a - “am“ 或是 “pm“ A - “AM“ 或是 “PM“ d - 几日,二位数字,若不足二位则前面补零; 如: “0
2、1“ 至 “31“ D - 星期几,三个英文字母; 如: “Fri“ F - 月份,英文全名; 如: “January“ h - 12 小时制的小时; 如: “01“ 至 “12“ H - 24 小时制的小时; 如: “00“ 至 “23“ g - 12 小时制的小时,不足二位不补零; 如: “1“ 至 12“ G - 24 小时制的小时,不足二位不补零; 如: “0“ 至 “23“ i - 分钟; 如: “00“ 至 “59“ j - 几日,二位数字,若不足二位不补零; 如: “1“ 至 “31“ l - 星期几,英文全名; 如: “Friday“(小写L) m - 月份,二位数字,若不足二
3、位则在前面补零; 如: “01“ 至 “12“ n - 月份,二位数字,若不足二位则不补零; 如: “1“ 至 “12“ M - 月份,三个英文字母; 如: “Jan“ s - 秒; 如: “00“ 至 “59“ S - 字尾加英文序数,二个英文字母; 如: “th“,“nd“ t - 指定月份的天数; 如: “28“ 至 “31“ U - 总秒数 w - 数字型的星期几,如: “0“ (星期日) 至 “6“ (星期六) Y - 年,四位数字; 如: “1999“ y - 年,二位数字; 如: “99“ z - 一年中的第几天; 如: “0“ 至 “365“ 其它不在上列的字符则直接列出该字符
4、,date(),系统时区设置,PHP日期函数比系统时间晚8个小时。默认为0时区的格林威治时间。 修改时区为本地时区 修改php.ini date.timezone=Asia/Hong_Kong 保存重启服务 应用程序使用日期函数前添加语句修改时区 date_default_timezone_set(“Asia/Hong_Kong”);,取得和改变默认时区,date_default_timezone_get() 返回一个脚本中所有的日期时间函数所使用的默认时区 date_default_timezone_set() 设定一个用于较笨重所有日期时间函数的默认时区,getdate(),在没有参数的情
5、况下,该函数以联合数组的方式返回当前日期与时间,数组中的每个元素代表日期/时间值中的一个特定的组成部分。 可向getdate函数提交可选的时间戳自变量,以获得与时间戳相对应的日期/时间值,应用此函数来获得容易分离的日期/时间值,getdate(),$arr = getdate();echo $arryear.“-“.$arrmon.“-“.$arrmday.“ “;echo $arrhours.“:“.$arrminutes.“:“.$arrseconds.“ “.$arrweekday;echo “;echo “Today is the $arrydayth of year“;,time()
6、,time()函数默认显示当前的系统时间,checkdate(),checkdate()函数用于检测是个日期格式是否正确。他接受的参数是月日年格式boolean checkdate(int month,int day,int year),checkdate(),设置时区,显示本地时间,setlocale(category,locale):改变php默认的本地环境 strftime(format,timestamp):根据本地化环境来格式化输出日期和时间,国家和地区代码(见注释) strftime函数参数转换标记(见注释),setlocale(LC_ALL,“en_US“);echo “美国格式
7、:“.strftime(“Today is %A“);echo “;setlocale(LC_ALL,“chs“);echo “中文简体格式:“.strftime(“今天是%A“); echo “;setlocale(LC_ALL,“cht“);echo “;echo “繁体中文格式:“.strftime(“今天是%A“);,$format: “ . date($format) . “n“; ?,取得和改变默认时区,Unix时间戳,时间戳是文件属性中创建修改访问的时间。 时间戳是一个加密的凭证文档。 时间戳变化的加密数值可以防止数值被窃取后利用。,mktime(),int mktime ( i
8、nt hour , int minute , int second , int month , int day , int year , int is_dst ),获取当前时间戳,在PHP中time()函数用以返回一个31位的整数数值,这个数值被称为时间戳。 他表示自1970年1月1日到现在经过的秒数。,字符时间转换为时间戳,PHP中2个时间不能直接比较,需要先转为时间戳格式,再比较。 int strtotime( string time , int now ):将任何英文文本的日期时间描述解析为 Unix 时间戳,比较时间大小,“;echo “变量$time2的时间为:“.$time2.“;if(strtotime($time1) - strtotime($time2) ,计算时间的差值, $sub1 小时!“ ; echo “;echo “离北京奥运开幕还有$sub2 天!“; ?,用 microtime() 对脚本的运行计时,