由于世界上有不同的显示习惯和规范,因此日期和时间也会根据不同的地区显示为不同的形式。这就是日期和时间的本地化显示。
实现此操作需要使用到setlocale()和strftime()两个函数。后者已经介绍过。
可使用setlocale()函数来改变PHP的本地化默认值,实现本地化的设置,格式为:
setlocale(目录,本地化值)
(1)“本地化值”是一个字符串,有一个标准格式:language_COUNTRY.chareacterset。比如,想把本地化设为美国,按照此格式为en_US.utf8;如果想把本地化设为英国,按照此格式为en_GB.utf8,如果想把本地化设为中国,且为简体中文,按照此格式为zh_CN.gb2312或者zh_CN.utf8。
(2)“目录”是指6个不同的本地化目录,如表7-4所示。
这里要对日期时间进行本地化设置,需要使用到的目录是LC_TIME。下面通过实例对日期时间本地化进行讲解。
【例7.6】
<?php
date_default_timezone_set("PRC");
date_default_timezone_set("Asia/Hong_Kong"); //设置时区为中国时区
setlocale(LC_TIME, "zh_CN.gb2312"); //设置时间的本地化显示方式
echo strftime("%Y-%m-%d %X %Z"); //输出本地化的日期和时间
?>
运行结果如图7-6所示。
【案例分析】
(1)date_default_timezone_set(“Asia/Hong_Kong”)设定时区为中国时区。
(2)setlocale(LC_TIME, “zh_CN.gb2312”)设置时间的本地化显示方式为简体中文方式。
(3)strftime(“%Y-%m-%d %X %Z”)输出本地化的日期和时间。