PHP获取当前时间不准确问题解决方案

从php5.1.0开始,php.ini里加了date.timezone这个选项,并且默认情况下是关闭的也就是显示的时间(无论用什么php命令)都是格林威治标准时间和我们的时间(北京时间)差了正好8个小时。

关于timezone 大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi ,PRC(依次为重庆,上海,乌鲁木齐,中华人民共和国)港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)还有新加坡:Asia/Singapore其它:Etc/GMT-8 ,Singapore ,Hongkong

解决方法一:

再添加时间前 插入:CODE:(好像不用加) date_default_timezone_set(PRC);

解决方法二:

echo date("Y-m-d H:i:s", time()+8*60*60);

解决方法三(修改php.ini文件):

找到php.ini中的“;date.timezone =”这行,将“;”去掉,改成“date.timezone = PRC”(PRC:People's Republic of China 中华人民共和国),重启Apache,问题解决。

附:date时间格式

date("Y-m-d H:i:s"); 显示的格式: 年-月-日 小时:分钟:秒

相关时间参数:

a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "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"
m - 月份,二位数字,若不足二位则在前面补零; 如: "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"

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • php获取当前月与上个月月初及月末时间戳的方法

    本文实例讲述了php获取当前月与上个月月初及月末时间戳的方法.分享给大家供大家参考,具体如下: 当前月 <?php $thismonth = date('m'); $thisyear = date('Y'); $startDay = $thisyear . '-' . $thismonth . '-1'; $endDay = $thisyear . '-' . $thismonth . '-' . date('t', strtotime($startDay)); $b_time = strtot

  • php获取今日开始时间和结束时间的方法

    话不多说,请看代码: $begintime=date("Y-m-d H:i:s",mktime(0,0,0,date('m'),date('d'),date('Y'))); $endtime=date("Y-m-d H:i:s",mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1); 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

  • PHP获取当前系统时间的方法小结

    一.获取当前时间戳 方法1:通过time函数 time(); 方法2:通过$_SERVER中的REQUEST_TIME元素 $_SERVER['REQUEST_TIME']; 方法3:通过strtotime函数 strtotime('now')); 二.获取当前时间 通过date函数格式化时间戳 echo date('Y-m-d h:i:s', time()); // 2018-10-3 15:57:05 三.时区问题 上述方法都存在时区问题,具体解决: 方法一:php.ini中修改为中国时区

  • PHP实现根据时间戳获取周几的方法

    本文实例讲述了PHP实现根据时间戳获取周几的方法.分享给大家供大家参考,具体如下: 获取某个时间戳的周几,以及未来几天以后的周几 其中: $time 代表时间 $i 今天开始 具体示例代码如下: function getTimeWeek($time, $i = 0) { $weekarray = array("一", "二", "三", "四", "五", "六", "日&qu

  • PHP实现获取毫秒时间戳的方法【使用microtime()函数】

    本文实例讲述了PHP实现获取毫秒时间戳的方法.分享给大家供大家参考,具体如下: PHP获取毫秒时间戳,利用microtime()函数 php本身没有提供返回毫秒数的函数,但提供了一个microtime()函数,借助此函数,可以很容易定义一个返回毫秒数的函数. php的毫秒是没有默认函数的,但提供了一个microtime()函数,该函数返回包含两个元素,一个是秒数,一个是小数表示的毫秒数,借助此函数,可以很容易定义一个返回毫秒数的函数,例如: function getMillisecond() {

  • PHP编程获取各个时间段具体时间的方法

    本文实例讲述了PHP编程获取各个时间段具体时间的方法.分享给大家供大家参考,具体如下: <?php echo "今天:".date("Y-m-d")."<br>"; echo "昨天:".date("Y-m-d",strtotime("-1 day")), "<br>"; echo "明天:".date("Y

  • PHP中获取文件创建日期、修改日期、访问时间的方法

    php获取文件创建时间.修改时间常用代码 filemtime ( string filename ) 返回文件上次被修改的时间,出错时返回 FALSE.时间以 Unix 时间戳的方式返回,可用于 date(). 例如:$a=filemtime("log.txt"); echo "修改时间:".date("Y-m-d H:i:s",$a); filectime ( string filename ) 返回文件上次 inode 被修改的时间,如果出错

  • PHP 获取 ping 时间的实现方法

    PHP 可以通过exec函数执行shell命令,来获取ping时间. 代码示例: echo 'PHP_INT_MAX : ' . PHP_INT_MAX . "<br><br>"; $ip = '115.29.237.28'; // IP地址 if (PATH_SEPARATOR==':') // linux { echo 'I am linux' . "<br><br>"; exec("ping -c 3

  • PHP获取MySQL执行sql语句的查询时间方法

    如下所示: //计时开始 runtime(); //执行查询 mysql_query($sql); //计时结束. echo runtime(1); //计时函数 function runtime($mode=0) { static $t; if(!$mode) { $t = microtime(); return; } $t1 = microtime(); list($m0,$s0) = explode(" ",$t); list($m1,$s1) = explode("

  • PHP获取当前时间不准确问题解决方案

    从php5.1.0开始,php.ini里加了date.timezone这个选项,并且默认情况下是关闭的也就是显示的时间(无论用什么php命令)都是格林威治标准时间和我们的时间(北京时间)差了正好8个小时. 关于timezone 大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi ,PRC(依次为重庆,上海,乌鲁木齐,中华人民共和国)港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港

  • PHP获取用户客户端真实IP的解决方案

    获取客户端ip其实不是个简单的活儿,因为存在Ip欺骗,和代理问题,所以获取客户端的IP的真实性会打折扣的,不能百分百准确.但是我们还是尽量找一个比较完善的获取客户端真正ip方法.使用php获取IP的方法能找到很多. function getIp(){ if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = gete

  • PostgreSQL 如何获取当前日期时间及注意事项

    在开发数据库应用或者调试代码时,经常需要获取系统的当前日期和时间,我们来看一下 PostgreSQL 中提供的相关函数. 当前日期 CURRENT_DATE CURRENT_DATE 函数用于获取数据库服务器的当前日期: postgres=# SELECT CURRENT_DATE; current_date -------------- 2019-09-28 (1 row) 调用该函数时不需要在函数名后加括号.该日期是服务器的日期,不是客户端的日期. 当前事务开始时间 以下函数可以用于获取数据

  • js获取当前日期时间及其它操作汇总

    js获取当前日期时间及其它操作汇总 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); /

  • JavaScript获取当前时间向前推三个月的方法示例

    本文实例讲述了JavaScript获取当前时间向前推三个月的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"&g

  • Js 获取当前日期时间及其它操作实现代码

    myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours();

  • Javascript获取当前时间函数和时间操作小结

    在项目需要一个计时器,效果如下: js代码: 复制代码 代码如下: /*获取当前时间*/     function getCurrentDate()     {       var timeStr = '';       var curDate = new Date();       var curMonth = curDate.getMonth()+1;  //获取当前月份(0-11,0代表1月)       var curDay = curDate.getDate();       //获取

  • JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)

    本文实例讲述了JS简单获取当前日期时间的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>JS日期时间</title> <meta http-equiv

  • vbs获取当前时间日期的代码

    获取当前日期方法一: 复制代码 代码如下: Currentdate1=date()msgbox Currentdate1 获取当前日期方法二: 复制代码 代码如下: Currentdate2=year(Now)&"-"&Month(Now)&"-"&day(Now)msgbox Currentdate2 获取当前时间: 复制代码 代码如下: CurrentTime=Hour(Now)&":"&Min

  • Linux下用C获取当前时间

    Linux下用C获取当前时间,具体如下: 代码(可以把clock_gettime换成time(NULL)) void getNowTime() { timespec time; clock_gettime(CLOCK_REALTIME, &time); //获取相对于1970到现在的秒数 tm nowTime; localtime_r(&time.tv_sec, &nowtime); char current[1024]; sprintf(current, "%04d%0

随机推荐