我正在更改日期格式,它显示格式错误
echo $punch_in_time;
// Prints 2013-09-09 11:40:00
echo $new_date = gmdate('D, M-d-Y h:i a',strtotime($punch_in_time));
// Prints Mon, Sep-09-2013 09:40 am (Notice the wrong time)
我还尝试在显示时间之前设置时区,但没有效果。
我不知道为什么会发生这种情况,我必须将时间显示为Mon, Sep-09-2013 11:40 am
而不是Mon, Sep-09-2013 09:40 am
。
答案 0 :(得分:2)
在使用功能之前,请务必阅读说明/手册。
在gmdate()的描述中说“格式化GMT / UTC日期/时间”,这意味着它假设您输入的日期是在本地时区(从GMT + 2的时差判断?)gmdate然后将其转换为GMT + 0时区的日期格式。
要确保时区*在输入和输出之间是一致的,请改用date()。
*这会将日期时间转换为您当地的时区,这可能不是您所需要的。
echo $new_date = date('D, M-d-Y h:i a',strtotime($punch_in_time));
答案 1 :(得分:1)