我正在尝试设置php日期验证(MM/DD/YYYY),但我遇到了问题。以下是我得到的一个示例:
$date_regex = '%\A(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d\z%';
$test_date = '03/22/2010';
if (preg_match($date_regex, $test_date,$_POST['birthday']) ==true) {
$errors[] = 'user name most have no spaces';`
虽然checkdate
很好,但这似乎是一个非常简洁的函数,可以验证,也可以给出格式。[来源]
function validateDate($date, $format = 'Y-m-d H:i:s') {
$d = DateTime::createFromFormat($format, $date);
return $d && $d->format($format) == $date;
}
函数是从此答案或php复制的。净收入
额外的-
// Gives "2016-11-10 ..." because Thursday falls on Nov 10
DateTime::createFromFormat('D M j Y', 'Thu Nov 9 2016');
// false, Nov 9 is a Wednesday
validateDate('Thu Nov 9 2016', 'D M j Y');
您可以使用DateTime
类的一些方法,这可能很方便;即,DateTime::createFromFormat()
与DateTime::getLastErrors()
结合使用。
$test_date = '03/22/2010';
$date = DateTime::createFromFormat('m/d/Y', $test_date);
$date_errors = DateTime::getLastErrors();
if ($date_errors['warning_count'] + $date_errors['error_count'] > 0) {
$errors[] = 'Some useful error message goes here.';
}
这甚至可以让我们看到日期解析警告/错误的实际原因(查看$date\u errors
中的警告和
错误
数组)。
你可以用checkdate。例如,类似这样的内容:
$test_date = '03/22/2010';
$test_arr = explode('/', $test_date);
if (checkdate($test_arr[0], $test_arr[1], $test_arr[2])) {
// valid date ...
}
更偏执的方法,不盲目相信输入:
$test_date = '03/22/2010';
$test_arr = explode('/', $test_date);
if (count($test_arr) == 3) {
if (checkdate($test_arr[0], $test_arr[1], $test_arr[2])) {
// valid date ...
} else {
// problem with dates ...
}
} else {
// problem with input ...
}
问题内容: 我试图建立一个PHP日期验证(MM / DD / YYYY),但我遇到了问题。这是我得到的样本: 问题答案: 您可以使用checkdate。例如,如下所示: 一种更偏执的方法,不会盲目相信输入内容:
主要内容:PHP date() 函数,PHP Date() - 格式化日期,完整的 PHP Date 参考手册PHP date() 函数用于格式化时间/日期。 PHP date() 函数 PHP date() 函数可把时间戳格式化为可读性更好的日期和时间。 时间戳是一个字符序列,表示一定的事件发生的日期/时间。 语法 参数 描述 format 必需。规定时间戳的格式。 timestamp 可选。规定时间戳。默认是当前的日期和时间。 PHP Date() - 格式化日期 date() 函数的第一个
在PHP中,我需要检查一个字符串是否为以下格式: 其中x、y和z是整数。因此,字符串包含3个整数,由2个破折号分隔,规则如下: 验证这一点最简单的方法是什么?
问题内容: 我正在写一个shell脚本,并且对为什么我的日期验证代码不起作用感到困惑。我针对发现的类似问题尝试了以下解决方案,但is_valid始终设置为1: 如何正确验证日期格式?只有格式为MM / DD / YYYY的日期才有效 我也尝试了以下解决方案:Linux Bash-日期格式,但它也总是拒绝日期。 问题答案: Mac OS X随附的BSD 不支持该选项(或者,它用于完全不同的东西)。安
我有数据帧,它有几个具有日期数据的列。我想对列应用验证,如果日期错误,我想用错误消息列更新该数据帧。我尝试过但工作不正常。我的示例数据帧数据。 我尝试了以下代码。 预期数据帧
本文向大家介绍PHP 设置日期,包括了PHP 设置日期的使用技巧和注意事项,需要的朋友参考一下 示例 setDate 在DateTime对象中设置日期。 本示例将日期设置为2015年7月25日,它将产生以下结果: