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

Kirim email ke