如何验证多种格式的日期

时间:2020-04-08 11:05:18

标签: php date

我想创建一个函数来检查日期,日期可以采用以下多种格式。

enter image description here

这里02 = 2020年的月份和20 =年等是日期

function validateDate($date, $format = 'Y-m-d')
{
    $d = DateTime::createFromFormat($format, $date);
    return $d && $d->format($format) == $date;
} 


ob_end_clean();

header('Content-Type: text/csv; charset=utf-8');

header('Content-Disposition: attachment; 
filename=attendance_upload_csv'.time().'.csv');

header("Pragma: no-cache");

header("Expires: 0");
$file = fopen('php://output', 'w');
$fieldArr['field_name']['agent_user_name']          = 'Agent User Name';
$fieldArr['field_name']['date_of_violation']        = 'Date Of Violation';


fputcsv($file, $fieldArr['field_name']);

fclose($file);

问题是它不能验证所有日期,请告知。

预先感谢

1 个答案:

答案 0 :(得分:1)

如果让用户将他们喜欢的任何内容放入传入的CSV文件中,那是个坏主意。由于数据输入过程不受您的直接控制,因此您需要设置一些规则和期望,然后由PHP在检查上传的文件时实施这些规则和期望。

发出指令,告诉用户他们必须以一种单一格式输入日期(您可以选择自己选择的日期,最好是模棱两可的格式,例如Y-m-d,因此毫无疑问,输入时数据将意味着什么)。如果他们不这样做,您将拒绝该文件。简单,问题解决。

您的代码无法猜测用户的意图或键入的意图。因此,解决方案是告诉他们确切的要求,然后拒绝任何不符合规范的要求。

相关问题