변환 후 '1970-01-01' 표시 PHP 날짜
나는 날짜 형식을 가지고 있습니다.dd/mm/yyyy
. 데이터베이스 검색을 위해 날짜 형식을 다음으로 변경했습니다.yyyy-mm-dd
. 근데 제가.echo
it, it showing1970-01-01
. PHP 코드는 아래와 같습니다.
$date1 = $_REQUEST['date'];
echo date('Y-m-d', strtotime($date1));
왜 이런 일이 일어날까요?포맷은 어떻게 하나요?yyyy-mm-dd
?
교체하다/
와 함께-
:
$date1 = strtr($_REQUEST['date'], '/', '-');
echo date('Y-m-d', strtotime($date1));
1970년 1월 1일은 이른바 유닉스 시대입니다.그들이 유닉스 시간을 세기 시작한 날짜입니다.이 날짜를 반환 값으로 받으면 일반적으로 날짜를 Unix 타임스탬프로 변환하면 0에 가까운 결과가 반환됩니다.그래서 날짜 변환이 성공하지 못합니다.잘못된 입력을 받았기 때문일 가능성이 높습니다.
다른 말로 하자면, 당신의strtotime($date1)
0을 반환하며, 이는$date1
strtime 함수에 대해 지원되지 않는 형식으로 전달됩니다.
$inputDate = '07/05/-0001';
$dateStrVal = strtotime($inputDate);
if(empty($dateStrVal))
{
echo 'Given date is wrong';
}
else{
echo 'Date is correct';
}
O/P : 지정된 날짜가 잘못되었습니다.
$date1 = $_REQUEST['date'];
if($date1) {
$date1 = date( 'Y-m-d', strtotime($date1));
} else {
$date1 = '';
}
유효한 정보가 있을 경우 이 정보가 제대로 표시됩니다.date()
인에$date
그렇지 않으면 아무것도 표시하지 않습니다.
저를 위해 문제를 해결해 줬습니다.
또 다른 해결 방법:
날짜선택기 변환dd/mm/yyyy
로.yyyy-mm-dd
$startDate = trim($_POST['startDate']);
$startDateArray = explode('/',$startDate);
$mysqlStartDate = $startDateArray[2]."-".$startDateArray[1]."-".$startDateArray[0];
$startDate = $mysqlStartDate;
문제는 데이터가 000-00-00으로 설정되어 있거나 비어 있으면 다시 확인하고 정확한 정보를 제공해야 하므로 이 문제가 해결됩니다.도움이 되었으면 좋겠습니다.
php 5.3+의 경우 아래 코드를 사용합니다.
$date = new DateTime('1900-02-15');
echo $date->format('Y-m-d');
php 5.2의 경우 아래 코드를 사용합니다.
$date = new DateTime('1900-02-15');
echo $date->format('Y-m-d');
마침내 나는 이 문제를 해결할 한 줄 코드를 찾았습니다.
date('d/m/Y', strtotime(str_replace('.', '-', $row['DMT_DATE_DOCUMENT'])));
언급URL : https://stackoverflow.com/questions/8984595/php-date-showing-1970-01-01-after-conversion
'source' 카테고리의 다른 글
SQLPlus 스크립트를 통과하지 못한 매개 변수의 기본값 (0) | 2023.09.09 |
---|---|
ASP에서 httpOnlyCookies를 정확히 어떻게 구성합니까?NET? (0) | 2023.09.09 |
Swift의 정적 함수 변수 (0) | 2023.09.09 |
UIScrollView가 상단 또는 하단에 도달했는지 확인합니다. (0) | 2023.09.04 |
Node.js에서 파일의 크기를 찾는 방법은 무엇입니까? (0) | 2023.09.04 |