验证日期月份和年份

时间:2015-07-17 13:29:29

标签: php

我的日期格式为MM-YYYY(例如:04-2000)。我将日期分为月份和年份,现在我正在尝试检查当月的某些条件:

  • 介于1到12之间
  • 由2位数组成)

和当年:

  • 由4位数字组成

我的语法是否正确?

list($name_month, $name_year) = explode('-', $name_date, 2);
if(($name_month < 1 || $name_month > 12 || $name_month ) || ($name_year)) {
    echo "<br><br>Wrong date";
    $uploadOk = 0;}

3 个答案:

答案 0 :(得分:4)

您可以使用DateTime对象和createFromFormat()来验证日期:

$date = '04-2000';

// Create a DateTime object pointing to the 1st of your given month and year
$d = DateTime::createFromFormat('d-m-Y', '01-' . $date);
if($d && $d->format('m-Y') == $date){
  echo 'Valid date';
}

Eval.in

答案 1 :(得分:1)

如果seprator总是div#footer { padding: 10px; } div#footer div.wrapper div.column { width:100% !important; }

,这应该有用
-

答案 2 :(得分:1)

如评论所述,有几个是这样做的。首先想到的是checkdate()createFromFormat()

问题是,您需要注意当天注入的内容,因为您的格式不包含日期。

由于createFromFormat()从当前日期注入了日期部分,因此它不是一个可行的选择。 George 的代码将在28日后的02-2015格式中失败。

因此,我会使用checkdate()

$date = '04-2000';
list($month, $year) = explode('-', $date);
if (checkdate($month, 1, $year)) {
  echo 'Valid date';
}