Hocam bir gün 24 saat*60 dakika*60 saniye = 86400 saniyedir. Bu bir kenarda dursun.

Önce timezone ayarlayalım.

date_default_timezone_set("Turkey");
Bununla Türkiye için geçerli saat ve tarihi kullanacağımızı belirledik.

Mesela bugünün tarihini gün-ay-yıl şeklinde alalım.

$tarih = date("d-m-Y");
$tarihsaat = date("d-m-Y H:i:s");
Bu kodları echo ile yazdırırsak şu sonuçları verir. Bu cevabı yazarkenki an için.

04-03-2013
04-03-2013 09:51:24
Örneğin sen iki gün öncesinin bilgisini almak istiyorsun. Bu tarih saatten tam iki gün öncesi.

$tarih = date("d-m-Y",time()-2*86400);
$tarihsaat = date("d-m-Y H:i:s",time()-2*86400);
Bunları yazdırırsak şunlar gelir.

02-03-2013
02-03-2013 09:51:24
Diyelim ki veritabanında timestamp olarak 1362214200 değerini tutuyorsun. Bunun tarih ve tarihsaat olarak karşılığını almak istiyorsun.

$timestamp = 1362214200;

$tarih = date("d-m-Y,", $timestamp);
$tarihsaat = date("d-m-Y H:i:s", $timestamp);
Bu kodları yazdırırsak, 1362214200 timestamp değerine karşılık gelen

gün-ay-yıl
gün-ay-yıl saat:dakika:saniye
verilerine ulaşmış olursun. Yada belki saçma ama sadece o timestamp değerine karşılık gelen saatin dakika değeri lazım sana.

$dakika = date("i", $timestamp);
İşte bu kadar. Son olarak diyelim ki 1362214200 timestamp değerinden 2 gün öncesini mi istiyorsun? Neydi 2 gün? 2*86400. Buyur.

$timestamp = 1362214200-2*86400;

$tarih = date("d-m-Y,", $timestamp);
$tarihsaat = date("d-m-Y H:i:s", $timestamp);
2 gün öncenin tarihine gittin. Aynı şekilde 5 gün sonrasının tarihine de şu şekilde ulaşırız. 5 gün eşittir 5*86400. Bu kez timestamp değerinden çıkarmayacağız toplayacağız.

$timestamp = 1362214200+5*86400;

$tarih = date("d-m-Y,", $timestamp);
$tarihsaat = date("d-m-Y H:i:s", $timestamp);