gpt4 book ai didi

php - DateTime::createFromFormat 如何捕获特定的日期时间?

转载 作者:行者123 更新时间:2023-11-29 22:41:13 25 4
gpt4 key购买 nike

我如何使用 DateTime::createFromFormat 来捕获这样的日期的开始时间和结束时间:

Sunday, March 29, 2015<br />10:00 AM - 12:00 PM

我需要将其重新格式化为 MySQL 的 DATETIME 数据类型。这是我的尝试:

$start_time = DateTime::createFromFormat('D, M d, Y*/*h:i A+', $element->plaintext);
$end_time = DateTime::createFromFormat('D, M d, Y?????????????????h:i A+', $element->plaintext);
$start_time->format('Y-m-d H:i:s');
$end_time->format('Y-m-d H:i:s');

我收到错误“ fatal error :在 bool 值上调用成员函数 format()...”这一定意味着 $element->plaintext 不是我想象的那样。

最佳答案

DateTime 的通配符和分隔符有点奇怪。首先,* 不会匹配空格字符,而且您也不能使用 * 来匹配数字。

所以,你需要这样做:

$start_time = DateTime::createFromFormat('D, M d, Y* *h:i A+', $element->plaintext);
$end_time = DateTime::createFromFormat('D, M d, Y* *h:i A| - h:i A', $element->plaintext);

第二个示例中的 | 字符重置日期字符串,以便它可以第二次解析。

演示:https://eval.in/306698

关于php - DateTime::createFromFormat 如何捕获特定的日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29339710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com