{"id":326,"date":"2013-06-14T16:54:56","date_gmt":"2013-06-14T08:54:56","guid":{"rendered":"http:\/\/syarman.com\/soft\/?p=326"},"modified":"2013-06-14T16:54:56","modified_gmt":"2013-06-14T08:54:56","slug":"mengira-perbezaan-hari","status":"publish","type":"post","link":"http:\/\/syarman.com\/soft\/2013\/06\/14\/mengira-perbezaan-hari\/","title":{"rendered":"Mengira perbezaan hari"},"content":{"rendered":"<p>Apabila kita membangunkan sistem, seringkali kita berhadapan dengan mengira perbezaan hari. Terutamanya sistem yang melibatkan KPI ataupun ISO bagi sesuatu proses. Catatan kali ini akan menceritakan bagaimana kita boleh mendapatkan perbezaan hari dari 2 tarikh.<\/p>\n<p>Bagi yang menggunakan PHP versi 5.2 dan kebawah bolehlah mencuba cara ini<\/p>\n<p><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n&lt;?php\r\n$unix_time1 = mktime(0,0,0,3,1,2013);\r\n$unix_time2 = mktime(0,0,0,5,1,2013);\r\n\t\r\necho $unix_balance = floor(($unix_time2 - $unix_time1) \/(60 * 60 * 24));\r\n?&gt;\r\n<\/pre>\n<\/p>\n<p>Format bagi fungsi mktime() adalah seperti ini mktime(jam,minit,saat,bulan,hari,tahun).\u00a0 Kemudian kita perlu gunakan rumus ini bagi mendapatkan bilangan hari.<\/p>\n<p>(Tarikh2 &#8211; Tarikh1) \/ (60saat x 60minit x 24jam)<\/p>\n<p>Hasil dari pengiraan diatas, kita perlu melakukan proses pembundaran ke nilai yang lebih rendah. Dengan itu fungsi floor() diperlukan.<\/p>\n<p>&nbsp;<\/p>\n<p>Cara yang kedua adalah dengan menggunakan Class Datetime yang terdapat didalam PHP 5.3 dan keatas. Menggunakan method diff. Bagi mendapat format yang boleh difahami, method format digunakan.<\/p>\n<p><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n&lt;?php\r\n$Date1 = new Datetime('2013-03-01');\r\n$Date2 = new Datetime('2013-05-01');\r\n$interval = $Date1-&gt;diff($Date2);\r\n\t\r\necho $interval-&gt;format(&quot;%R%a days&quot;);\r\n?&gt;\r\n<\/pre>\n<\/p>\n<p>Sekiranya kita perlu membuat perbandingan dengan data yang dipanggil dari pangkalan data, adalah lebih baik kita menggunakan sql. Ini bagi mengurangkan PHP perlu memprosesnya berulang-ulang kali. Caranya mudah. Pernyataan Sql dibawah menggunakan fungsi yang terdapat didalam MySQL.<\/p>\n<p>&nbsp;<\/p>\n<p>Selamat mencuba!<\/p>\n<p><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nSELECT DATEDIFF( tarikh_tamat, tarikh_mula )\r\nFROM nama_jadual\r\nWHERE syarat_anda\r\nLIMIT 0 , 30\r\n<\/pre><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apabila kita membangunkan sistem, seringkali kita berhadapan dengan mengira perbezaan hari. Terutamanya sistem yang melibatkan KPI ataupun ISO bagi sesuatu proses. Catatan kali ini akan menceritakan bagaimana kita boleh mendapatkan perbezaan hari dari 2 tarikh. Bagi yang menggunakan PHP versi 5.2 dan kebawah bolehlah mencuba cara ini &lt;?php $unix_time1 = mktime(0,0,0,3,1,2013); $unix_time2 = mktime(0,0,0,5,1,2013); echo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31,13,4],"tags":[],"class_list":["post-326","post","type-post","status-publish","format-standard","hentry","category-cakephp","category-mysql","category-php"],"_links":{"self":[{"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/posts\/326","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/comments?post=326"}],"version-history":[{"count":1,"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/posts\/326\/revisions"}],"predecessor-version":[{"id":327,"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/posts\/326\/revisions\/327"}],"wp:attachment":[{"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/media?parent=326"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/categories?post=326"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/syarman.com\/soft\/wp-json\/wp\/v2\/tags?post=326"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}