2011-03-30 4 views
2

현재 유닉스 타임 스탬프로 된 일련의 15 개 날짜가 만들어진 상황이 있습니다. 우리가 그 일을하면가장 간단한 숫자/날짜를 찾기위한 PHP 단축키

또 다른 변수 <?php $dateidate = date(strtotime('+20 days')); ?>

목적은 'd-m-Y'

의 형식으로 $의 dateidate 및 디스플레이에 비해 > 큰 15 다른 날짜의 가장 작은을 찾기 위해 거기입니다 두 번째 방법은 >보다 $dateidate보다 크고 'd-m-Y' 형식으로 표시되는 15 개의 다른 날짜 중 가장 작은 두 번째 날짜를 얻는 방법입니다.

+0

타임 스탬프 쉽게 새로운 일에 비해 다음 배열의 정수로 분류하고 있습니다. – AJJ

답변

1

그래서 15 개의 날짜가 UNIX 타임 스탬프입니다. 유능한.

좋아, 여기에 당신은 쉽게 그것을 위해 할 수있는 작업은 다음과 같습니다

$datearray = array(timestamp1,timestamp2,etc.) // an array of timestamps 
$dateidate = time() + 1728000; //current time + 20 days worth of seconds (20 * 24 * 60 * 60) 

foreach($datearray as $key => $date) 
{ 
    if($date < $dateidate) 
    { 
     unset $datearray[$key]; //Remove timestamp from original array if less than $dateidate 
    } 
} 

$earliestdate = min($datearray); 
//min returns the least of the values in the array, opposite of max, which you could use to find the latest date in the array 

$date = date('d-m-Y',$earliestdate); 
1

strtotime은 타임 스탬프를 생성합니다. 대신이의 :

<?php $dateidate = date(strtotime('+20 days')); ?> 

이 작업을 수행 : 당신이 당신의 피벗 어느 쪽이 구별 할 수 있도록

<?php $dateidate = strtotime('+20 days'); ?> 

특수 키 배열로 모든 타임 스탬프를 넣습니다. 배열을 정렬하고 정렬 된 배열로 수행해야하는 작업을 수행하십시오.

+0

문제는 내가 그들과하고 싶은 일을하는 방법을 모르겠다. strtotime에서 타임 스탬프를 받았다. 그것의 주문 및 계산에 대해 나는 확실하지 않다 –

+0

timestamp는 정수가되며,보다 정확한 초입니다. 그래서 더 큰 날짜는 더 큰 타임 스탬프입니다. 예를 들어, 1.1.2011은 1.2.2011보다 작은 타임 스탬프의 결과입니다. – ITroubs

+0

배열에서 $ dateidate보다 높은 값을 찾는 방법을 여전히 모릅니다. 나는 배열에 넣어 $ dateidate보다 큰 값을 찾고 min()을 찾고 싶다고 가정합니다. 하지만 첫 번째 비트를 수행하는 방법이나 두 번째 작은 것을 찾는 방법을 모르겠다. –

1

이 솔루션은 $dateidate보다 큰 모든 타임 스탬프를 갖게됩니다 $shorterOnes 배열, 그래서 anonymous function를 사용하여 타임 스탬프를 저장하는 $dates 배열을 필터링합니다.

그런 다음 배열은 sorted이며, 첫 번째 배열은 가장 작게 배열됩니다.

$dateidate=strtotime('+20 days'); 
$dates=array(/*timestamps*/); 

$shorterOnes=array_filter($dates, function ($v) use ($dateidate) { 
    return $v>$dateidate; 
}); 

sort($shorterOnes); 

echo date('d-m-Y', $shorterOnes[0]); 
echo date('d-m-Y', $shorterOnes[1]); 

익명 함수는 PHP 5.3에서만 작동합니다. 그보다 낮 으면 create_function()을 사용해야합니다.