1 / 6
文档名称:

ecshop时间机制.docx

格式:docx   大小:256KB   页数:6页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

ecshop时间机制.docx

上传人:花开一叶 2019/4/11 文件大小:256 KB

下载得到文件列表

ecshop时间机制.docx

相关文档

文档介绍

文档介绍:膀ecshop时间机制艿肄程序中的时间分为标准时间和显示时间,在获取时间、存储时间、调取时间时统一采用标准时间,ecshop中的标准时间是在安装过程中定义的,一旦安装成功则存储在/data/,以常量:$timezone存在。如下两图芁芈螈螄一般情况下,我们规定标准时间选用UTC,即格林尼治时间。但在显示给用户的时候,我们需要用ecshop自带的时间转换函数来转换成当地时间。下图是该函数节蚁膈薅如图可知,关于具体转换成哪个时区的时间,由SESSION[‘timezone’]和商店设置中的timezone字段值决定,因此,我们只需要在【后台-》商店设置-》基本设置】中把默认时区选择成用户所在的时区就行了。(中国建议设置成东八区,如下图)莄蝿薇芅范例:膁肂php程序中转换:羆羅膃JS中转换(此处为倒计时JS):芀蒆螆芄上图的$now_time为PHP程序传过来的当地时间,如函数onload_leftTime()中没有传参,,如传参,则读取传参时间。莈腿系统出现8小时误差的原因分析:蒆肁config文件中标准时间定义正确,为UTC时区,但用gmtime()获取,则获取的是此时的格林尼治时间,比中国晚了8小时。蚁config文件中没有定义标准时间UTC时区,而是定义了RPC时区,而程序用local_date()函数处理时间,或是把gmtime()手动增加了8小时(gmtime()$timezone定义的影响,如下三图),导致页面显示时间早了8小时。薈芆膃衿页面显示正常,,获取时也用的gmtime,这时会有隐患,如果有别的页面按ecshop的原有规则,正确调用了local_date()函数,反而时间早了8小时。羈螃总结:膄安装过程中选择UTC时区,$timezone膂存储数据库时,统一存UTC时间戳(例如用gmtime()获取)蒇前台显示时要用local_date()转换成当地时间蒃编写相关JS时,请沿用ecshop机制,不要用+86400等方式写死。羁芀袇DEREK膄2015/12/2以