2009-02-05

Date in Java

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));

Tidak ada komentar: