顺德公农庄 发表于 2018-12-19 08:23:11

php 和mysql 时间转换时间戳的一点问题

  php5和mysql5时间戳和相关设置
  // mysql
  //-----------------------------------------------
  目前数据库保存时间的时间戳,带有时区设置
  这里(中国)就是从1970年1月1日8点开始的秒数,
  数据库
  select UNIX_TIMESTAMP();返回当前时间戳,
  当然也可以直接把UNIX_TIMESTAMP() 插入到数据库,即保存了当前时间,
  select CURRENT_TIMESTAMP(UNIX_TIMESTAMP());//可以没有参数,这样就可以正确返回当前时间,
  这就证明了mysql可以自圆其说
  SELECT FROM_UNIXTIME(0, '%Y-%m-%d %k:%i:%s');
  结果显示1970-01-01 8:00:00
  // php
  //-----------------------------------------------
  为了迁就数据库,也使用从1970年1月1日8点开始的秒数
  php5修改配置文件php.ini
  大约第662行
  去掉注释
  date.timezone = PRC
  php中,也可以使用time()获得当前时间戳
  经实际与mysql的select UNIX_TIMESTAMP()比较,发现实际上一样的,很方便
  个人更喜欢使用数据库的UNIX_TIMESTAMP().
  然后,php在修改了配置文件后,能正确的显示时间了
  经测试
  getdate()函数和date()函数显示结果都正确
  echo date('Y-m-d H:i:s',time());
  $t = getdate(time());
  echo "{$t['year']}-{$t['mon']}-{$t['mday']} {$t['hours']}:{$t['minutes']}:{$t['seconds']}" ;
  echo date('Y-m-d H:i:s',0);
  结果显示1970-01-01 08:00:00

页: [1]
查看完整版本: php 和mysql 时间转换时间戳的一点问题