当前位置: 首页 > 知识库问答 >
问题:

PHP DateTime:无法分析时间字符串

胡博艺
2023-03-14

我已经研究过关于同一错误的其他问题,但我很难将它们应用到我的情况中。

这是我得到的错误:

致命错误:未捕获异常“exception”,消息为“DateTime::u-construct()[DateTime.-construct]:无法分析位置10(1)处的时间字符串(2013-07-22164:50:00):在/Applications/XAMPP/xamppfiles/htdocs/Festival\u Planner/index中出现意外字符”。php:88堆栈跟踪:0/Applications/XAMPP/xamppfiles/htdocs/Festival\u Planner/index。php(88):日期时间-

这是生成错误的行的for循环:

    for($iCount2=0;$iCount2<count($ascreenings);$iCount2++){
    $ocurrentscreening = $ascreenings[$iCount2];

    ///////// THIS IS LINE 88:
    $time = new DateTime($ocurrentscreening->date.''.$ocurrentscreening->starttime,new DateTimeZone('Pacific/Auckland'));
    $displayTime = date_format($time, 'g:ia');

    $sLabel =  $ocurrentscreening->date.', '.$displayTime.'.';
    $oForm->makeCheckBox("screening".$ocurrentscreening->screeningid, $sLabel, $ocurrentscreening->screeningid);
        }   

这是一个类似的for循环,使用与我在第88行所做的完全相同的代码结构。

    for($iCount=0;$iCount<count($aUsersScreenings);$iCount++){
        $odisplayedscreening = $aUsersScreenings[$iCount];

        $ofilm = new film();
        $ofilm->load($odisplayedscreening->filmid);

        $title = $ofilm->title;

        $time = new DateTime($odisplayedscreening->date.''.$odisplayedscreening->starttime,new DateTimeZone('Pacific/Auckland'));
        $displayTime = date_format($time, 'g:ia');

        $sHTML .= '
        <div class="selected" id="screening'.$odisplayedscreening->screeningid.'"> 
        <span>'.$title.'</span>.'.$displayTime.'.
        </div>
        ';
        }

共有1个答案

南门魁
2023-03-14

你需要在日期和时间之间留出空间

$time = new DateTime($ocurrentscreening->date.' '.$ocurrentscreening->starttime,new DateTimeZone('Pacific/Auckland'));
 类似资料:
  • 我需要从表单接收的值创建一个DateTime。问题是这个值像一个字符串一样被接收:“2016-10-10T08:29:06.959Z”,我需要接收像没有引号,因为如果我用引号接收,我就有下一个错误: DateTime::__construct():无法解析位置0()的时间字符串("2016-10-14T22:00:00.000Z"):意外字符 当我尝试将值转换为DateTime时,使用: 如果我尝

  • 我有一个返回日期/时间值的表单。这是相关位的代码(这是Knockout JS中的javascript代码,该网站使用该代码,以及使用Symfony进行验证的Propel代码,以及使用MomentJS进行日期格式化的代码): 不幸的是,提交表单时,会返回以下错误: 致命错误:未捕获的异常'异常'与消息'DateTime::__construct():未能解析时间字符串(开始日期)在位置0(s):在数

  • 我正试图以小时为单位显示自这样一个日期以来的数字。。。 这是给我的错误信息。。。 有人知道我哪里出错了吗?

  • 我正在使用下面的函数计算从出生日期(欧洲格式DD/MM/YYYY)算起的人的年龄(以年为单位),这些日期作为文本存储在Wordpress高级自定义字段中 在大多数情况下,它工作正常,但在某些情况下,我得到以下错误: 工作正常的数据示例:$age=get_age($birthday); 对于$birth value=05/04/1946,它可以正常工作,但是对于$birth value=26/01/

  • 我在尝试使用时间戳创建新的DateTime对象时出现了此构造错误: 异常:DateTime::construct():未能分析位置8(8)处的时间字符串(1372622987):DateTime中出现意外字符- 对象创建代码为: 其中$dbResult- 1372622987 对于传递的无效格式,我可以理解这个错误,但这是一个真正的时间戳。 原因很奇怪:我运行了一个脚本来创建一个新的DateTim

  • 问题内容: 好的,现在我可以解析空间了,这是我以前的问题。现在我的解析器几乎可以使用了,但是有一个我无法弄清的缺陷。 我能够在段(参见代码)和管道之间的数据之后检索数据。我无法到达的是一个级别并检索包含在管道之间并以^分隔的数据。 例如。 但是,我当前的输出将是 我收到@后面带有各种ID的异常1 [Ljava.lang.String; @ 1786e64 下面给出的注释代码造成了问题。 码: 请指