Pages

Tampilkan postingan dengan label PHP. Tampilkan semua postingan
Tampilkan postingan dengan label PHP. Tampilkan semua postingan

Selasa, 03 Februari 2015

Mencari tanggal dalam seminggu

dengan bahasa PHP untuk mencari tanggal dalam seminggu dimulai hari sabtu ke jumat selanjutnya

public function getIntervalDateOnWeek($date, $year=null){
        $regex_date = '/^[1-2]{1}[0-9]{3}\-[0-9]{1,2}\-[0-3]{1}[0-9]{1}|[0-9]{1}$/';
        if(strlen($date)<=2){ 
            if(preg_match('/^[0-9]{1,2}$/', $date)>0){ //minggu ke berapa
                $return = array();//var_dump($date);var_dump($year);
                for($i=1;$i<=7;$i++){ //find date interval on week
                    $return[] = date('Y-m-d',strtotime($year.'W'.$date.$i)); //
                }
                return $return;
            }else{
                return "salah format";
            }
        }else{ echo "test";
            if(preg_match($regex_date, $date)>0){
                $ex = explode('-',$date); 
                $week = date('W',strtotime($date));

                return self::getIntervalDateOnWeek($week, $ex[0]); 
            }else{
                return "salah format";
            }    
        }
    }
 
contoh penggunaan :
 
getIntervalDateonWeek('2015-02-04');
 
atau dengan urutan minggu dalam setahun
 
getIntervalDateonWeek('05');

Selasa, 02 April 2013

Selisih tanggal dengan php

Fungsi untuk melakukan pengurangan tanggal pada PHP.
<?php
public function cekSelisihHari($start, $end) {
        $hari1 = explode(" ", $start); //memisahkan date dengan time
        $tgl1 = $hari1[0];
        $tgl1 = explode("-", $tgl1);//memisahkan tahun, bulan dan tanggal
        $hari2 = explode(" ", $end);
        $tgl2 = $hari2[0];
        $tgl2 = explode("-", $tgl2);
        if (((int)$tgl2[0] - (int)$tgl1[0]) == 0) {
            if (((int)$tgl2[1] - (int)$tgl1[1]) == 0) {
                if (((int)$tgl2[2] - (int)$tgl1[2]) == 0) {
                    return 0;
                } else {
                   return (int)$tgl2[2] - (int)$tgl1[2];
                }
            } else { 
                if(((int)$tgl2[1]-(int)$tgl1[1])>0){
                    $num = cal_days_in_month(CAL_GREGORIAN, $tgl1[1], $tgl1[0]);
                    for($i=1; $i<((int)$tgl2[1]-(int)$tgl1[1]);$i++){                      
                        $num += cal_days_in_month(CAL_GREGORIAN, (int)$tgl1[1]+1, $tgl1[0]);                   
                    }
                }                
                $temp = $num - (int)$tgl1[2];
                return $temp + (int)$tgl2[2];
            }
        } else {
            $num = cal_days_in_month(CAL_GREGORIAN, $tgl1[1], $tgl1[0]);
            echo $num;
            $temp = $num - (int)$tgl1[2];
            return $temp + (int)$tgl2[2];
        }
        return 0;
    }

?>
contoh penggunaan :
$a = "2013-02-25"; //bisa dengan format datetime seperti '2013-02-25 03:03:55'
$b = "2013-04-02";
echo cekSelisihHari($a,$b);