PHP에서 특정 날짜 형식을 사용하여 어제 날짜를 얻고 싶습니다.
$today = date("d.m.Y"); //15.04.2013
가능합니까?
월과 년을 각각 변경해야하는지 고려하십시오.
답변:
거기 당신은 간다
date('d.m.Y',strtotime("-1 days"));
이것은 월이 변경되는 경우에도 작동합니다
1 단계
date () 함수에 형식 데이터를 설정해야합니다. date () 함수는 주어진 정수 타임 스탬프 또는 타임 스탬프가 제공되지 않은 경우 현재 시간을 사용하여 주어진 형식 문자열에 따라 형식화 된 문자열을 반환합니다. 즉, 타임 스탬프는 선택 사항이며 기본값은 time () 값입니다.
<?php
echo date("F j, Y");
?>
결과 : 2010 년 3 월 30 일
2 단계
"어제"날짜의 경우 php 함수 mktime ()을 사용합니다. 함수 mktime ()은 주어진 인수에 해당하는 Unix 타임 스탬프를 반환합니다. 이 타임 스탬프는 Unix Epoch (1970 년 1 월 1 일 00:00:00 GMT)와 지정된 시간 사이의 초 수를 포함하는 긴 정수입니다. 인수는 오른쪽에서 왼쪽으로 생략 될 수 있습니다. 따라서 생략 된 인수는 localdate 및 시간에 따라 현재 값으로 설정됩니다.
<?php
echo mktime(0, 0, 0, date("m"), date("d")-1, date("Y"));
?>
결과 : 1269820800
3 단계
이제 모두 병합하고 다음을보십시오.
<?php
$yesterday = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")-1,date("Y")));
echo $yesterday;
?>
결과 : 2010 년 3 월 29 일
유사하게 작동하여 시간을 되 돌리는 것이 가능합니다.
<?php
$yesterday = date("H:i:s",mktime(date("H"), 0, 0, date("m"),date("d"), date("Y")));
echo $yesterday;
?>
결과 : 20:00:00
또는 7 일 전 :
<?php
$week = date("Y-m-d",mktime(0, 0, 0, date("m"), date("d")-7,date("Y")));
echo $week;
?>
결과 : 2010-03-23
이 시도
$tz = new DateTimeZone('Your Time Zone');
$date = new DateTime($today,$tz);
$interval = new DateInterval('P1D');
$date->sub($interval);
echo $date->format('d.m.y');
?>
PHP 앱에서 시간대 를 정의하는 경우 (필요한대로) 다음과 같이 할 수 있습니다.
date_default_timezone_set('Europe/Paris');
다음과 같이 간단합니다.
$yesterday = new DateTime('yesterday'); // will use our default timezone, Paris
echo $yesterday->format('Y-m-d'); // or whatever format you want
(기본 시간대를 저장하기 위해 상수 또는 환경 변수를 정의 할 수 있습니다.)
이 시도
<?php
$yesterday = date(“d.m.Y”, time()-86400);
echo $yesterday;
Carbon 라이브러리를 사용하여이 작업을 수행 할 수도 있습니다.
Carbon::yesterday()->format('d.m.Y'); // '26.03.2019'
다른 형식 :
Carbon::yesterday()->toDateString(); // '2019-03-26'
Carbon::yesterday()->toDateTimeString(); // '2019-03-26 00:00:00'
Carbon::yesterday()->toFormattedDateString(); // 'Mar 26, 2019'
Carbon::yesterday()->toDayDateTimeString(); // 'Tue, Mar 26, 2019 12:00 AM'