날짜가 'n/j Y'형식이고 타임 스탬프를 얻고 싶습니다. 다음 코드는 1513109760을 반환하며 잘못된 값입니다. 그것은 시도를 12/12 2017유닉스 타임 스탬프를 'n/j Y'날짜에서 가져 오기 PHP
$date = '12/12 2016';
echo $date. ', ' .strtotime($date);
날짜가 'n/j Y'형식이고 타임 스탬프를 얻고 싶습니다. 다음 코드는 1513109760을 반환하며 잘못된 값입니다. 그것은 시도를 12/12 2017유닉스 타임 스탬프를 'n/j Y'날짜에서 가져 오기 PHP
$date = '12/12 2016';
echo $date. ', ' .strtotime($date);
에 대한 타임 스탬프의이
$date = '12/12 2016';
$datetime = \DateTime::createFromFormat('n/j Y', $date);
$datetime->getTimestamp();
당신은 그것을 이해할 수있는 형식으로 strtotime
에 날짜를 제시해야합니다. 따라서이 형식을 수정하십시오.
일 월과 년을 /
으로 구분하면 미국 날짜 형식이 MM/DD/YYYYY로 가정됩니다.
들은이 -
후 유럽 형식에 의해 구분하면됩니다 즉 DD-MM-YYYYY가
$date = '12/12 2016';
$fixed = str_replace(array(' ', '/'), '-', $date);
echo strtotime($fixed);
echo PHP_EOL;
echo date('d/m/Y',strtotime($fixed));
대안으로 DateTime 개체 또 다른 가능한 옵션은 일반을 사용하는 것입니다
$date = '12/12 2016';
$dt = \DateTime::createFromFormat('n/j Y', $date);
echo $dt->getTimestamp();
echo PHP_EOL;
echo $dt->format('d/m/Y');
를 사용하는 가정 표현식을 사용하여 날짜 구성 요소를 추출한 다음 mktime()을 사용하여 타임 스탬프를 만듭니다.
$date = '12/12 2016';
preg_match_all('/([0-9]+)/', $date, $dateParts);
$timestamp = mktime(0,0,0, $dateParts[0][0], $dateParts[0][1], $dateParts[0][2]);
echo $timestamp;
결과 :
1481500800
이 나를 위해 일했다.
$date = '12-12-2016';
echo date('m-d-Y', strtotime($date));
echo "<br><br>";
$date1 = strtotime($date);
$date1 = date('m-d-Y', $date1);
echo $date;