Halo semua,
Begini,
Saya menyimpan format tanggal dengan tipe bigint dan data
disimpan dalam format timestamp. Untuk itu saya buat fungsi kurang lebih
begini (dalam PHP):
function convert_date($var) {
if(!$var) { return false;
} elseif(ereg("-",$var)) {
list($day,$month,$year)=explode("-",$var);
return mktime(0,0,0,$month,$day,$year);
} elseif(ereg("/",$var)) {
list($day,$month,$year)=explode("/",$var);
return mktime(0,0,0,$month,$day,$year);
## passing unix epoch time, returning date
} else {
return date("d-m-Y",(int)$var);
}
}
Masalahnya, ternyata timestamp itu di tiap komputer ternyata
hasilnya beda untuk tanggal yang sama. Saya coba otak-atik hingga
saya samain biosnya antara mesin 1 dan mesin 2 tapi tetap ada perbedaan
detik. Bahkan sudah edit /etc/adjtime untuk disamain, tetap saja beda.
Masalah yang timbul adalah saat query seperti ini:
select a from b where tanggal>=123 and tanggal<=456
Hasil dibeda mesin, jadi beda range tanggal. Kadang lebih sehari, kadang
kurang sehari. Saya coba fungsinya diganti menjadi gmdate() tapi
ternyata
- timestamp->tanggal sama
- tanggal->timestamp beda
contoh:
convert_date('09-01-2004');
mesin 1: hasilnya 1073624400
mesin 2: hasilnya 1073602800
Ada yang pernah ngalamin sama dan gimana ngatasinnya?
--
fade2bl.ac
--
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis.php