php时间处理与时间的基本概念
PHP时间处理里,两个重要概念:
时间戳:是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数。它也被称为 Unix 时间戳(Unix Timestamp)。
时区: 1884年国际子午线会议上规定,将全球划分为24个时区。它们是中时区(零时区)、东1-12区,西1-12区。每个时区横跨经度15度,时间正好是1小时,由于每个国家都可能横跨多个市区,为了让全国统一时间,一般采用某个地区的时区为全国的时区,如中国以东8区的北京的时间为全国的统一时间,称为北京时间。
不同时区的运算法则:同减异加,东加西减 (同,异表示时区是否相同或相异,如东1区与东8区为同,与西8区则为异了)
PHP的时间处理:
time():表示当前的时间戳
mktime(hour,minute,second,month,day,year,is_dst):通过设置具体的时间参数获得时间戳,is_dst为可选参数,表示是否夏令时,通过是无效的。
gmdate(format,timestamp) :函数格式化 GMT/UTC 日期/时间
PHP的开发的应用中,时间的存储应该为数字型的时间戳,然后根据用户的具体时区格式化时间戳以显示实际时间,php.ini中有date.timezone可以设置默认时区,但为了让开发出的系统尽量不受具体环境的影响,一般采用应用级的配置文件来设置默认时区。
其他具体函数可参考PHP手册
浙公网安备 33010602011771号