【问题标题】:Check if Carbon date matches YYYYMMDD HH:MM in PHP [duplicate]检查碳日期是否与 PHP 中的 YYYYMMDD HH:MM 匹配 [重复]
【发布时间】:2020-08-27 14:04:48
【问题描述】:

我正在尝试确定传递给方法的字符串是否与“YYYYMMDD HH:MM”的格式匹配。如果这有助于验证逻辑,我可以将字符串转换为 Carbon 日期对象。我如何才能最好地确定格式是否符合我的期望?

【问题讨论】:

  • 您可以使用DateTime::createFromFormat()DateTime::getLastErrors()。我已经写了一个完整的答案,但问题在我点击 Post 之前就关闭了。

标签: php date php-carbon


【解决方案1】:

您可以使用 strtotime 将您的输入转换为 UNIX 时间戳,然后使用您想要的格式创建一个新的日期字符串,并将输入与该测试日期字符串进行比较。

<?php
$dateFormat = 'Ymd h:i';
$dateInput = '20200827 10:07';

$time = strtotime($dateInput);
$testDate = date($dateFormat, $time);

if($dateInput==$testDate)
{
    echo 'Valid format'.PHP_EOL;
}
else
{
    echo 'Invalid format'.PHP_EOL;
}

【讨论】:

  • DateTime::createFromFormat($dateFormat, $dateInput)-&gt;format($dateFormat) === $dateInput 更安全,因为它也适用于strtotime 无法解析的格式。
猜你喜欢
  • 2018-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-04
  • 2016-02-14
  • 1970-01-01
相关资源
最近更新 更多