Functia prezentata in aceasta pagina, diffDateTime(), poate fi utilizata pentru a obtine diferenta dintre 2 date de timp si ore. Aceasta functie primeste doi parametri: data sau ora de inceput, si cea de sfarsit intre care sa faca diferenta. Se pot folosi diferite formate de data si timp: Unix Timestamp, sau un sir continand aproape orice descriere textuala a datei (in engleza).

Functie pt diferenta dintre doua date de timp sau ore

Returneaza un array ce contine un sir cu o reprezentare textuala a diferentei, si separat: zile, ore, minute, secunde, total ore, total minute, total secunde (vedeti in exemplele de mai jos).
/* Functie pt diferenta dintre doua date de timp sau ore
 $start / $end in Unix Timestamp, sau sir continand aproape orice descriere textuala a datei (in engleza)
 Returneaza un array ce contine un sir cu o reprezentare textuala a diferentei,
 si separat: zile, ore, minute, secunde, total ore, total minute, total secunde
*/
function diffDateTime($start, $end) {
 // Curs PHP-MySQL - https://marplo.net/php-mysql/
  // defineste $start si $end in Unix Timestamp
  if(!is_int($start)) $start = strtotime($start);
  if(!is_int($end)) $end = strtotime($end);

  // daca diferenta e negativa, orele sunt din zile diferite, adauga o zi (in sec.)
  $diff = ($end >= $start) ? $end - $start : 86400 + $end - $start;

  // defineste numarul de zile, ore, minute, secunde din diferenta
  $d = floor($diff / 86400);
  $h = floor(abs($diff - $d*86400)/3600);
  $m = floor(abs($diff - $d*86400 - $h*3600)/60);
  $s = $diff % 60;

  // seteaza cuvintele, singular sau plural
  $dstr =  ($d == 1) ? ' zi ' : ' zile ';
  $hstr =  ($h == 1) ? ' ora ' : ' ore ';
  $mstr =  ($m == 1) ? ' minut ' : ' minute ';
  $sstr =  ($s == 1) ? ' secunda ' : ' secunde ';

  // setare pt sirul adaugat in reprezentarea textuala a diferentei
  $sdiff_d = ($d != 0) ? $d.$dstr : '';
  $sdiff_h = ($h != 0) ? $h.$hstr : '';
  $sdiff_m = ($m != 0) ? $m.$mstr : '';

  return array(
   'diff' => $sdiff_d. $sdiff_h. $sdiff_m. $s.$sstr,
   'days' => $d, 'hours'=>$h, 'min'=>$m, 'sec'=>$s,
   'totalhours' => floor($diff/3600), 'totalmin' => floor($diff/60), 'totalsec'=>$diff
  );
}
- Exemple utilizare functie diffDateTime(), cu mai multe formate diferite de data si timp:
<?php
// Aici se adauga functia diffDateTime()

$df1 = diffDateTime('8:35:6', '8:55:34');          // diferenta dintre 2 ore, cu minue si secunde
$df2 = diffDateTime('07/19/2012 14:10:00', 'now');      // diferenta dintre o data precedenta si timpul actual
$df3 = diffDateTime('25 August 2012 14:10:00', '18-09-2012 08:25:00');     // diferenta dintre doua date complete
$df4 = diffDateTime(1348012438, 1348029429);      // diferenta dintre 2 date in Timestamp

// Test, afiseaza array-ul cu datele pt fiecare diferenta

var_export($df1);
/*
array (
 'diff' => '20 minutes 28 seconds ',
 'days' => 0, 'hours' => 0, 'min' => 20, 'sec' => 28,
 'totalhours' => 0, 'totalmin' => 20, 'totalsec' => 1228
)
*/

var_export($df2);
/*
array (
 'diff' => '61 days 16 hours 9 minutes 20 seconds ',
 'days' => 72, 'hours' => 16, 'min' => 9, 'sec' => 20,
 'totalhours' => 1744, 'totalmin' => 104649, 'totalsec' => 6278960
)
*/

var_export($df3);
/*
array (
 'diff' => '23 days 18 hours 15 minutes 0 seconds ',
 'days' => 23, 'hours' => 18, 'min' => 15, 'sec' => 0,
 'totalhours' => 570, 'totalmin' => 34215, 'totalsec' => 2052900
)
*/

var_export($df4);
/*
array (
 'diff' => '4 hours 43 minutes 11 seconds ',
 'days' => 0, 'hours' => 4, 'min' => 43, 'sec' => 11,
 'totalhours' => 4, 'totalmin' => 283, 'totalsec' => 16991
)
*/
?>

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce atribut poate fi utilizat pentru a adauga stiluri CSS direct in tag-ul HTML?
type style class
<div style="width: 80%; border: 3px solid #888888;">Continut</div>
Care din metodele proprietatii CSS transform distorsioneaza elementul HTML la un anumit unghi (inclusiv continutul lui)?
translate() scale() skew()
#un_id {
  transform: skew(20deg, 25deg);
  -ms-transform: skew(20deg, 25deg);   /* IE 9 */
  -webkit-transform: skew(20deg, 25deg);   /* Safari and Chrome */
}
Clic pe functia care poate converti un obiect Date in Sir.
indexOf() toString() getDate()
var rightnow = new Date();
alert( rightnow.toString() );
Care functie aplica o alta functie la elementele unui array?
array_merge() array_search() array_map()
$arr = arra("abc", "<p>xyz</p>", "<em>PHP</em>");
// aplica functia strip_tags() ca sa stearga tag-urile HTML din fiecare element din %arr
$arr = array_map("strip_tags", $arr);
}
Cum se spune "sambata" in limba engleza?
Sunday Saturday Monday
On Saturday I visit my grandparents.
- Sambata imi vizitez bunicii.
Cum se spune "sambata" in limba spaniola?
domingo lunes sábado
Sábado visito mis abuelos.
- Sambata imi vizitez bunicii.
Obtine diferenta dintre doua Date de Timp si Ore

Last accessed pages

  1. Viitor simplu si continuu - Future Tense Simple and Continuous (28311)
  2. Curs PHP MySQL, Tutoriale si Scripturi PHP (46199)
  3. Cursuri limba engleza gratuite si lectii online (35161)
  4. Ma afecteaza numai gandurile mele (23)
  5. Formular de contact (873)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1069)
  2. Curs HTML gratuit Tutoriale HTML5 (767)
  3. Curs si Tutoriale JavaScript (700)
  4. Curs si Tutoriale Ajax (665)
  5. Curs CSS Online Tutoriale CSS3 (647)