Ada teman saya mas Athaya yang bertanya :
saya ingin menjumlahkan waktu menggunakn PHP. dengan format hh:mm:ss misal jam mulai : 08:30 jam selesai : 09:45 jam mulai + jam selesai = …. tolong mas buatin web + databasenya yang sederhana aja mas. saya lihat-lihat di web mas, postingannya tepat terus mas serta ada web contohnya.
Serba Serbi WaktuMemprediksi tanggal yang akan datang :
$tambahwaktu = date(“d F Y”, mktime(0,0,0,date(“m”),date(“d”)+3,date(“Y”))); echo (“Tiga hari yg akan datang jatuh pada tgl $tambahwaktu”);
Memprediksi tanggal yang sudah berlalu
$kurangtanggal = date(“d F Y”, mktime(0,0,0,date(“m”),date(“d”)-14,date(“Y”))); echo (“Dua minggu yg lalu jatuh pada tgl $kurangtanggal”);
Menjumlahkan dua waktu
echo “Jam Mulai : “.$jam_mulai=’08:30:09′; echo ”
“; echo “Jam Selesai : “.$jam_selesai=’09:45:01′; echo ”
“; $times = array($jam_mulai,$jam_selesai); //$times = array(’08:30:22′,’09:45:53′); $seconds = 0; foreach ( $times as $time ) { list( $g, $i, $s ) = explode( ‘:’, $time ); $seconds += $g * 3600; $seconds += $i * 60; $seconds += $s; } $hours = floor( $seconds / 3600 ); $seconds -= $hours * 3600; $minutes = floor( $seconds / 60 ); $seconds -= $minutes * 60; echo “Hasil penjumlahan : {$hours}:{$minutes}:{$seconds}”; echo ”
“;
Menghitung selisih waktu
echo “Jam Masuk : “.$jam_masuk=”08:30:09″; echo ”
“; echo “Jam Keluar : “.$jam_keluar=”09:45:01″; echo ”
“; function selisih($jam_masuk,$jam_keluar) { list($h,$m,$s) = explode(“:”,$jam_masuk); $dtAwal = mktime($h,$m,$s,”1″,”1″,”1″); list($h,$m,$s) = explode(“:”,$jam_keluar); $dtAkhir = mktime($h,$m,$s,”1″,”1″,”1″); $dtSelisih = $dtAkhir-$dtAwal; $totalmenit=$dtSelisih/60; $jam =explode(“.”,$totalmenit/60); $sisamenit=($totalmenit/60)-$jam[0]; $sisamenit2=$sisamenit*60; $jml_jam=$jam[0]; return $jml_jam.” jam “.$sisamenit2.” menit”; } echo “WAktu Kerja : “.selisih($jam_masuk,$jam_keluar);
Menghitung selisih dua Tanggal
Sekian artikel dari saya semoga bermanfaat untuk teman-teman dan anda semua…amin
Depok, 02-03-2011
KangAgus
Filed under: Website | Tagged: dan, dengan, Menghitung, menjumlahkan, php, selisih, waktu |
sebelumnya makasih banget mas….
tapi ada masalah lagi nih…
pas di coba script ini mas. keluar yang beginian.
Warning: date() [function.date]: It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Asia/Krasnoyarsk’ for ‘7.0/no DST’ instead in C:\xampp\htdocs\jam-waktu\waktu.php on line 33
LikeLike
di skrip itu pakai seting waktu D-m-s sama seperti format date di mysql nya.
sepertinya seting waktu di komputer/server mas yang belum mendukung.
1. coba lihat di try icon komputer mas yang menampilkan jam (pojok kanan bawah)
2. klik 2 kali
3. pilih tab time zone, pilih GMT+7 Jakarta
4. OK
iya, saya memakai XAMPP 1.7. selama ini tidak ada masalah dengan fungsi waktu. mungkin coba di komputer yang lain dulu. mudah2an ada solusinya 🙂
LikeLike
mas kalau mau nampilin waktunya dalam script ini gmana yah ?
saya udah nyoba tapi kok gak muncul2 ? hehehe.
tolong mas..
kan kalo punya mas nampilinya waktu kerjanya pk script ini :
echo “Waktu Kerja : “.ddata($jam_masuk,$jam_keluar);
lebih jelasnya saya udah publish scriptnya di blogspot saya.
athayaweb.blogspot.com.
tolong mas…ok
LikeLike
ketemu mas… thanks yah..
mas agus, kalo hasil pengurangan waktu kan udah ketemu nih mas.
contoh :
masuk 09:00 – keluar 11:45 = waktu kerja 02:45.
nah dari sini saya ingin menyimpan hasil waktu kerja itu (waktu kerja 02:45.) ke dalam database.
gimana tuh mas caranya. tanpa perlu di entry (otomatis) jadi kita hanya input jam masuk sama jam keluar aja mas. ???
ibaratkan databesenya seperti ini tabelnya.
_______________________________
| jam masuk | jam keluar | waktu kerja |
|__________|_________|__________|
| 09:00 | 11:45 | 02:45. |
| | | |
|__________|_________|__________|
apakah mungkin mas ?? tolong pencerahnnya..
LikeLike
bisa aja. mungkin logikanya :
1. dapatkan primary id di tabel tersebut. misalnya id_waktu
2. dapatkan juga data field jam_masuk, jam_keluar dari masing2 id_waktu tersebut
3. untuk periode perhitungannya terserah anda misalnya setiap akhir bulan akan di hitung waktu kerja semua karyawan. atau waktu anda tekan tombol proses, maka akan di hitung lama waktu kerjanya.
4. setelah di hitung lama waktu kerja dan dapat hasilnya, update data tersebut ke field waktu_kerja untuk masing-masing id_waktu
5. selesai
CMIIW 🙂
LikeLike
wah saya udah nyoba mas. bingung haha. maklum masih belajar.
jam_masuk 09:00 – jam_ keluar 11:45 = waktu_kerja 02:45.
jam masuk dan jam keluar sudah tersimpan di database, tapi yang saya bingung hasil penghitungan waktu_kerja nya supaya tersimpan (otomatis) ke databasenya gimana ya? minta pencerahan lagi mas…
ato kembangin aja mas
“Menghitung selisih waktu dan menjumlahkan waktu dengan PHP” supaya tersimpan secara otomatis di database. hehehe. jadi saya gak nambah bingun.ngarep.
tolong donk, bingung saya… saya berharap mas agus.
LikeLike
mas….gimana mas…hehehe… menunggu… jawabam…
LikeLike
kalau java gimana mas???
LikeLike
Mas kalo mencari selisih tanggal tanpa menghitung tanggal merah atau hari minggu gimana caranya ??
LikeLike
[…] Gambar 2 Klik disini Ayo Berbagi :EmailTwitterFacebookPrintLike this:SukaBe the first to like this […]
LikeLike
mas mw nanya kalau membuat tanggal berikutnya tidak bisa melebihi tanggal sebelumnya, misalnya tanggal pesan 06 mey 2010 dan tanggal pengambilannya tidak bisa sebelum tanggal 06 mey 2010 itu gmana..?
trima kasih
LikeLike
gan mo tanya klo penguranganya Tanggal jam gmn??
yyyymmdd biasa tp ada waktunya sampai detik
LikeLike
gan ko ga bisa di download ya..
LikeLike
gan, mohon bantuannya. gmn cara untuk mendapatkan total seluruh waktu kerja dari semua karyawan ?
ibaratkan databesenya seperti ini tabelnya.
misalnya :
Nama : Dedi Rusdandi
| jam masuk 1 | jam keluar 1 | waktu kerja | jam masuk 2 | Jam Keluar 2 | Waktu Kerja | Total waktu kerja |
|_____________|______________|_____________|_____________|______________|_______________|_____________________|
| 09:00 AM | 11:45 PM | 02:45 | 03.00 PM | 05.00 PM | 02.00 | harusnya jawabnya |
| | | | | | | (04.45) |
| | | | | | | gmn nih gan caranya |
|_____________|______________|_____________|_____________|______________|_______________|_____________________|
LikeLike