2009-06-17 9 views
1

MySQL에 넣으려면 타임 스탬프를 만들어야합니다. 사용자가 여러 주를 오늘 날짜에 추가하는 데 필요한 수 (주)를 제출하고 있습니다. 내가하려는 것은 사용자가 제출할 광고의 종료일을 계산하는 것입니다.날짜 계산

어떻게해야합니까? 감사!

답변

3

strtotime을 사용하여 날짜에 시간을 추가 할 수 있습니다. 아무 것도 전달되지 않으면 현재 시간 인 두 번째 인수가 사용됩니다. 그런 다음 타임 스탬프를 생성하기 위해 date 기능이 생성 시간을 통과 할 수 있습니다 : 예를 들어,

$timestamp = date('Y-m-d H:i:s', strtotime('+10 weeks')); 
2

내가 DATE_ADD은 (CURDATE(), INTERVAL 2 주) 현재 날짜로 2 weekss을 추가 할 생각을

0

광고가 특정 시간에 만료되도록하려면 mktime :

$ day = date ("d") + ($ weeks * 7);
mktime ($ 시간, $ 분, $ 초, $ 월, $ 일, $ 년);

0

그냥 추가하면 데이터베이스에 평범한 이전 int 필드로 UNIX 시간을 저장하는 것이보다 유연하고 이식성있는 솔루션이라고 할 수 있습니다. 또한 삽입 및 업데이트는 단순한 정수 만 저장하기 때문에 더 빨리 수행됩니다. 그것은 얼마나 많은 날짜 조작을 당신이 필요가 데이터베이스 수준에서 할 필요에 따라 달라집니다. 필자는 이식성을 위해 PHP에서 모든 날짜 계산을하는 경향이 있습니다. 현재 타임 스탬프를 저장하려면, 난 그냥 정수 열로의 출력을 삽입합니다 :

strtotime('now'); 

또는 두 가지 모두 현재 (유닉스) 타임 스탬프를 반환

time(); 

. 정말 당신이 날짜를 사용하는지에 따라 달라집니다

if($tsFromDb > strtotime('+28 days')) { 
    echo 'it is the future, zombies!'; 
} 

: 날짜 비교 이후로 사소한로, 데이터베이스에서 타임 스탬프를 가져 오는 간단한 산술 연산을 수행하여 수행 할 수 있습니다.