这里吸取的教训:永远不要相信 PHP 文档。测试一切!
$position 的工作原理与描述不符,至少在 PHP 7 中是这样。解析完成后没有错误,它不包含 -1。
您仍然可以使用它来设置解析起始字符位置,但不一定能判断是否有任何错误发生。
要测试错误,请将另一个注释中的我的 $nPosition 测试代码替换为
<?php
// 检查是否有错误
$bError = intl_is_failure(datefmt_get_error_code(oIDF));
// 如果没有错误
if(!$bError){
// 使用 $aTime 数组中的“tm_hour”和“tm_min”与其他时间值进行比较
...
}else{
// 无效字符串
...
}
?>