php这种日期格式如何转成时间戳?

Wed Jun 14 15:45:47 +0800 2023

阅读 3.9k
4 个回答

直接 strtotime 不就可以吗?


var_dump(strtotime('Wed Jun 14 15:45:47 +0800 2023'));
\DateTime::createFromFormat('D M d H:i:s O Y', 'Wed Jun 14 15:45:47 +0800 2023')->getTimestamp()

要将字符串形式的日期转换为时间戳,你可以使用PHP中的strtotime()函数。该函数可以将一个包含日期和时间的字符串为时间戳。

$dateString = 'Wed Jun 14 15:45:47 +0800 2023';
$timestamp = strtotime($dateString);
echo $timestamp;

上述代码将把字符串'Wed Jun 14 15:45:47 +0800 2023'转换为对应的时间戳,并通过echo语句打印出来。

请注意,strtotime()函数在解析日期、时间格式方面非常灵活。它能够识别并处理多种常见的日期和时间格式。然而,如果你在日期字符串中使用了非标准的或独特的格式,可能会导致解析错误。

在处理时区信息时,请确保你的PHP配置或脚本设置为正确的时区,以便正确地解释日期和时间。你可以使用date_default_timezone_set()函数设置所需的时区,如:

这将设置时区为亚洲/上海。根据你的实际需要,选择适合的时区设置。

新手上路,请多包涵

有个万能的方法, 可以将任何类型的日期格式转换为时间戳, 就是使用TimeHelper这个Composer类库.
第一步,导入包:

composer require zjkal/time-helper

第二步,直接使用:

//将任意时间类型的字符串转为时间戳
TimeHelper::toTimestamp('Wed Jun 14 15:45:47 +0800 2023');
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题