Fungsi tanggal dan waktu dalam php

Cara seseorang untuk menyimpan tanggal lahir di database MySQL ada beberapa macam ada yang menggunakan varchar karena mereka yang paling akrab dengan fungsi string dan ada yang menggunakan date.
Perbandingan  menggunakan date dan varchar:

Menyimpan sebagai sebuah Date
• Sebuah mysql date membutuhkan 3 Bytes penyimpanan.
• Dapat menggunakan fungsi mysql untuk menghitung nilai-nilai secara langsung dalam query.
• Hanya akan menyimpan tanggal yang valid.
• Format dengan berbagai cara.

Menyimpan sebagai Varchar
• Sebuah string akan membutuhkan minimal 8 byte , atau 10 dengan pemisah.
• Tidak dapat memformat dengan mudah di sql.
• Harus memastikan tanggal benar-benar valid.

Kita dapat menghitung usia seseorang dalam query , menggunakan tanggal lahirnya. Misalnya kita membuat tabel seperti berikut:

mysql>CREATE TABLE user (id int AUTO_INCREMENT PRIMARY KEY,name varchar(20),birthdate date;

 

Kemudian kita tambah datanya.

INSERT INTO user (name, birthdate) VALUES (‘Fran’, ‘1967-10-31’);

INSERT INTO user (name, birthdate) VALUES (‘Bill’, ‘1964-05-07’);

INSERT INTO user (name, birthdate) VALUES (‘Jimmy’, ‘1965-04-27’);

INSERT INTO user (name, birthdate) VALUES (‘Stacy’, ‘2002-11-30’);

INSERT INTO user (name, birthdate) VALUES (‘George’, ‘2007-10-25’);

mysql> select * from user;

+—-+——–+————+

| id | name   | birthdate  |

+—-+——–+————+

|  1 | Fran   | 1967-10-31 |

|  2 | Bill   | 1964-05-07 |

|  3 | Jimmy  | 1965-04-27 |

|  4 | Stacy  | 2002-11-30 |

|  5 | George | 2007-10-25 |

+—-+——–+————+

5 rows in set (0.00 sec)
Berikut cara melihat umur nya sekarang.

mysql> select CURDATE();
+————+
| CURDATE()  |
+————+
| 2013-31-12 |
+————+
1 row in set (0.00 sec)

mysql> SELECT *, YEAR(CURDATE()) – YEAR(birthdate) AS age FROM user;
+—-+——–+————+——+
| id | name   | birthdate  | age  |
+—-+——–+————+——+
|  1 | Fran   | 1967-10-31 |   46 |
|  2 | Bill   | 1964-05-07 |   49 |
|  3 | Jimmy  | 1965-04-27 |   48 |
|  4 | Stacy  | 2002-11-30 |    11 |
|  5 | George | 2007-10-25 |    6 |
+—-+——–+————+——+

5 rows in set (0.00 sec)
Contoh mencari umur dalam bentuk bulan.
mysql> select ((YEAR(CURDATE())-YEAR(birthdate))*12)+(MONTH(CURDATE())-MONTH(birthdate)) as umur from user;

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s