Date and time in 24 hours format

前端 未结 2 368
悲&欢浪女
悲&欢浪女 2021-01-04 01:52

I have a date in this format Fri, 15 Jan 2016 15:14:10 +0800, and I want to display time like this 2016-01-15 15:14:10.

What I tried is:

2条回答
  •  情歌与酒
    2021-01-04 02:18

    Use H instead:

    $test = 'Fri, 15 Jan 2016 15:14:10 +0800';
    $t = date('Y-m-d H:i:s',strtotime($test));
    echo $t;
    

    H: 24-hour format of an hour with leading zeros 00 through 23

    G should be the same, but without leading zeroes though. I suspect that your PHP is set to a different timezone than +0800. Can you confirm your timezone (date_default_timezone_get())?

    EDIT

    OP confirmed that his timezone was set to UTC, in which case it maskes perfect sense that it shows 7 in the morning, as date uses PHPs default timezone.

    If you want to "inherit" the Timezone, while getting more flexibility, you should switch to DateTime:

    echo (new DateTime($test))->format("Y-m-d H:i:s");
    

提交回复
热议问题