을이 문제를 방지 안다 검증이 조각을 사용하여, 사용자의 현재 세션을 설정할 수 있습니다 내 코드 전체에서 작동합니다. Date-like 문자열이나 DateTime (Immutable) 객체를 전달하십시오. PHP DateTime 또는 DateTimeImmutable 객체가 유출됩니다. 입력이 "0000-00-00"과 같은 문자열이면 false입니다. 두 번째 매개 변수로 또한 불변 여부로 결과를 강제 할 수
function ensureDateTime ($input, $immutable = NULL) {
if (! $input instanceof \DateTimeInterface) {
if (in_array($input, ['0000-00-00', '0000-00-00 00:00:00'], true)) {
$input = false;
} elseif ($immutable) {
$input = new \DateTimeImmutable($input);
} else {
$input = new \DateTime($input);
}
} elseif (true === $immutable && $input instanceof \DateTime) {
$input = new \DateTimeImmutable($input->format(TIMESTAMPFORMAT), $input->getTimezone());
} elseif (false === $immutable && $input instanceof \DateTimeImmutable) {
$input = new \DateTime($input->format(TIMESTAMPFORMAT), $input->getTimezone());
}
return $input;
}
기본적으로 "내가 시작 모르겠어요,하지만 난 내가 원하는 걸 알고있다", 기능.
(참고 : 여기에 PHP 7 구문의 비트,하지만 쉽게 PHP 5에 적용)
@domanokz - * 표시 잘못의 단계가 될 것입니다 * 방향 –
그래, 내가 잊고, PHP의 변수는 그것의 변경 내용에 따라 데이터 유형. – dpp