php获取时间问题,用默认配置读到本地时间。。。。。

用date获取到时间有8小时时差

  因为php用date获取到的是格林威治时区的时间,而大陆时间和格林威治时间有8个小时时差,所以。。。。

修改:网上有各种修改方式:

  比如:在程序中添加时间的初始化的语句的 即:“date_default_timezone_set("Asia/Shanghai"); ”这个可以由程序员任意设置。

     时区标识符

      大陆内地可用的值是:PRC,Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为中国,重庆,上海,乌鲁木齐) ,Etc/GMT-8,Asia/Harbin

      港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)还有新加坡:Asia/Singapore

    但是这样修改的缺点:要是你做的产品也要卖向海外的话,那就悲剧了。。。

还有一种方式是修改服务器的php.ini文件。即:打开php.ini 查找 date.timezone 去掉前面的分号, = 后面加要设置的时区,重启apache服务器即可

然后问题来了:之前的php.ini的配置是默认配置,即应该获取的格林威治时间,(与大陆有8个小时时差),但是实际上却获取的是本地时间。。。

    然后重新设置系统时间为默认时间,获取的又是的格林威治时间;

    然后将时区为格林威治时区的时间设置为本地时间  --  得到本地时间

    然后再将时区为格林威治时区的时间设置为08:00 -- 得到08:00

    。。。

    然后就明白了,这个date获取的格林威治时间是系统设置的格林威治时间。。。。。。

时间: 2024-10-10 18:18:18

php获取时间问题,用默认配置读到本地时间。。。。。的相关文章

时间格式化需要注意点不可使用本地时间

var compareTime = DateTime.Now; var start = DateTime.Parse(string.Format("{0:u}", compareTime)); var end = DateTime.Parse(compareTime.ToString()); Console.WriteLine(string.Format("时间格式正确{0}", start==end)); 各位猜猜,输出是什么 . 结果是false. 重要主要最近

SQL Server 的本地时间和UTC时间

一,本地时间和UTC时间 本地时间 世界的每个地区都有自己的本地时间,整个地球分为二十四时区,每个时区都有自己的本地时间. UTC时间 在国际无线电通信中,为统一而普遍使用一个标准时间,称为通用协调时(UTC, Universal Time Coordinated).UTC时间和英国伦敦的本地时间相同. UTC时间在世界各地都是相同的,但是不同的时区,本地时间各不相同.根据UTC时间和所在的时区,能够计算出本地时间. 二,获取本地时间和UTC时间 在Sql Sever中,GetDate()返回的

Spring通过JNDI获取在Tomcat容器中配置的C3P0数据源

开始直接使用Spring通过JNDI获取在Tomcat容器中配置的数据源,Tomcat默认的应该是DBCP连接池,没问题,一切OK,由于Hibernate和Spring都推荐使用C3P0连接池,所以就尝试配置一下,没想到整了半下午,才搞定配置,惭愧!网上的内容眼花缭乱,鱼龙混杂,不如自己靠谱!直接上代码,后面附出现的问题! 配置两个地方: 1.Tomcat\conf下的context.xml 2.Spring的配置文件 提示: 1.如果要优化连接池的性能,要对参数进行设置,具体的要看官网!官网最

STM32F2系列系统时钟默认配置

新到一家公司后,有个项目要用到STM32F207Vx单片机,找到网上的例子照猫画虎的写了几个例子,比如ADC,可是到了ADC多通道转换的时候就有点傻眼了,这里面的时钟跑的到底是多少M呢?单片机外挂的时钟是25M,由于该单片机时钟系统较为复杂,有内部高/低.外部高/低 .PLL锁相环时钟,又有AHB总线时钟.APB1/2时钟,而例子中很少讲到系统时钟的默认配置是怎么配置呢?那么就发点时间研究下这个单片机内部的复杂时钟系统吧. 下图是STM32F2系列的时钟树结构图: 1.内部高速时钟HSI.外部高

nginx 默认配置语法和日志的format

nginx 默认配置 查看有nginx哪些默认配置文件,打开/etc/nginx/nginx.conf文件,查看尾行部分 会默认将/etc/nginx/conf.d/文件下其他以.conf结尾的配置文件都导入到该文件中. 查看/etc/nginx/conf.d/文件下默认有哪些文件 ls /etc/nginx/conf.d/ 也就是说默认情况下有两个配置文件nginx.conf default.conf 解读 nginx.conf 配置文件,该配置文件主要分为三大块  第一块: user 设置n

nginx配置静态文件过期时间

1.配置指定文件不记录日志,同时设置静态文件过期时间location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${ expires 15d; access_log off;}2.只配置静态文件过期时间#配置静态文件过期时间location ~ \.(js|css)${ expires 15d;}d 天 h 小时 m 分钟 用curl 查看本地127.0.0.1访问.如:curl -x127.0.0.1:80 www.dd.com/data/cache/style_1_fo

js获取几个月前,几周前时间。

/** *  DK 命名空间  防止全局变量污染 */ var DK = {} ; /** * 获取前几个月,默认为一个月,当前时间 * @author duke * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ DK.getPreMonth = function() { var obj = DK.init(arguments); var arr = obj.date.split('-'); var year = parseInt(arr[0]); //获取当前日

android launcher开发之图标背景以及默认配置

1:然后我自己看了一下桌面图标的载入过程: 桌面第一次载入时是默认读取一个xml配置文件,完毕配置工作.这个配置文件在Launcher文件夹下, 路径是:\Launcher\res\xml\default_workspace.xml .这个XML文件就是刚升级,Launcher第 一次显示的时候,会读取的配置文件.default_workspace.xml里面能够配置APP快捷方式.Widget.Search搜索栏等 launcher里面负责解析default_workspace.xml文件的方

redis2.8默认配置

#daemonize no 默认情况下, redis 不是在后台运行的,如果需要在后台运行,把该项的值更改为 yes daemonize yes # 当 redis 在后台运行的时候, Redis 默认会把 pid 文件放在 /var/run/redis.pid ,你可以配置到其他地址. # 当运行多个 redis 服务时,需要指定不同的 pid 文件和端口 pidfile /var/run/redis_6379.pid # 指定 redis 运行的端口,默认是 6379 port 6379 #