记录一次可能的坑爹bug调试记录

今天在修改 视频的封面时,发现时间不对,都是早了 12个小时。一开始怀疑是时区设置的问题。因为之前有调用阿里云的库会将时区设为 标准时区。但是这个是8个小时,有点奇怪。于是做了一堆坑爹的测试,最后终于发现问题所在:

$data['publish_time'] = date('Y-m-d h:i:s'); 因为h 的范围是0-12,之前写代码是在上午,所以不会发现问题
最后做了这样的实验,才发现了最终问题
正确写法: $data['publish_time'] = date('Y-m-d H:i:s');
date_default_timezone_set('Asia/Shanghai');

$a = time();


$time1 = date('Y-m-d h:i:s');
$b = $a + 60*60*12; // 既然提早,那我就给你+12个小时
$time2 = date('Y-m-d h:i:s', $a + 60*60*12);
echo "a: " . $a ."
";
echo "b: " . $b ."
";
echo  "time1  " .  $time1 ."
";
echo  "time2  " .  $time2 ."
";

输出
a: 1556530994
b: 1556574194
time1 2019-04-29 05:43:14
time2 2019-04-30 05:43:14

这是发现差了24个小时了,便发现是自己date()没用对。

你可能感兴趣的:(php)