Setelah buka buka program Openfire yang berbasis Java, gua nemuin script yang aneh. Dia selalu menyimpan format tanggal dalam bentuk bigint di database (PostgreSQL).
setelah ubek ubek di website Openfire-nya, dia tulis kl tanggal menggunakan fungsi
long currentDate = new Date().getTime();
jadinya 1233804487
Nyari info sana sini ternyata format yang dipakai adalah format Unix Timestamp, dengan starting date 1900-01-01 yang equal dengan nilai int 86400. http://en.wikipedia.org/wiki/Epoch_(reference_date) .
Terus ubek ubek diinternet gimana balikin fungsi datenya di PostgreSQL.
dapet di http://www.epochconverter.com/
Ini buat convert EPOCH ke Standar timestamp
SELECT TIMESTAMP WITH TIME ZONE 'epoch' + epoch * INTERVAL '1 second';
Ini buat convert Standar timestamp ke EPOCH
SELECT extract(epoch FROM date('2000-01-01 12:34'));
or
SELECT extract(epoch FROM now());
Di Java
EPOCH 2 Standar Timestamp
String date = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date (epoch*1000));
setelah ubek ubek di website Openfire-nya, dia tulis kl tanggal menggunakan fungsi
long currentDate = new Date().getTime();
jadinya 1233804487
Nyari info sana sini ternyata format yang dipakai adalah format Unix Timestamp, dengan starting date 1900-01-01 yang equal dengan nilai int 86400. http://en.wikipedia.org/wiki/Epoch_(reference_date) .
Terus ubek ubek diinternet gimana balikin fungsi datenya di PostgreSQL.
dapet di http://www.epochconverter.com/
Ini buat convert EPOCH ke Standar timestamp
SELECT TIMESTAMP WITH TIME ZONE 'epoch' + epoch * INTERVAL '1 second';
Ini buat convert Standar timestamp ke EPOCH
SELECT extract(epoch FROM date('2000-01-01 12:34'));
or
SELECT extract(epoch FROM now());
Di Java
EPOCH 2 Standar Timestamp
String date = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date (epoch*1000));
Tidak ada komentar:
Posting Komentar