gpt4 book ai didi

php - 检查值是否为日期时间

转载 作者:行者123 更新时间:2023-12-03 18:45:38 25 4
gpt4 key购买 nike

我们正在设计一种新的传感器,可以将一些数据发送到网络应用程序。我们使用类似的传感器,但它们使用数据通道将发送到应用程序的值划分为不同的数据类型。

但是,这个新传感器将发送数据或 32 位时间,以毫秒为单位。它不会发送标识符位来查看该值是数据还是时间戳。

因为数据和时间戳都是整数值,我如何检查它是哪一个?

时间戳将是

YYYY/MM/DD HH:MI:SS:vv

我已经找到了 preg_match,像这样:

if (preg_match('/[0-9]{4}-[0-9]{2}-[0-9]{2}/', $value))

但是我如何包括毫秒呢?还是有比简单的 if else 更好的方法?

更新

我希望应用程序收到的日期是 int16。因此,计算收到的值并像日期时间一样处理值 9 和 10 可能更容易。

最佳答案

您可以使用 createFromFormat()来自 PHP DateTime object 的方法.

您将创建一个检查方法错误的函数:

function is_valid_date($date, $format = 'Y/m/d H:i:s.u')
{
$d = DateTime::createFromFormat($format, $date);
$errors = DateTime::getLastErrors();

return (
$errors['warning_count'] == 0 &&
$errors['error_count'] == 0 &&
$d !== false
);
}

希望对您有所帮助。

编辑:

在默认格式上添加了 u(微秒)。

关于php - 检查值是否为日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43931737/

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