Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Termostat frigider - verificare

Mai au PC-urile vreun viitor?

Centrala termica immergas

Amenda in Lipsa ?
 Acoperire gol extrior intre termo...

Intreprindere individuala fara ac...

Marci Biciclete - recomandari

Lipsa Tensiune pe o Faza, bransam...
 Recomandare bicicleta copil 5 ani.

Recomandare kit automat acces usa

[email][nvidia] Your GeForce NOW ...

Site nesigur
 Baghetele ornamentale intre foile...

O recomandare pentru o camera ful...

Pareri magazin online quickmobile?

Unde gasesc banane albastre?
 

PHP nu-mi calculeaza varsta bine

- - - - -
  • Please log in to reply
5 replies to this topic

#1
d3v1l500

d3v1l500

    New Member

  • Grup: Junior Members
  • Posts: 23
  • Înscris: 26.04.2017
Va salut! am nevoie de o mica lamurire si un pic de ajutor... nu reusesc sa calculez corect varsta unui om bazandu-ma pe data curenta si data nasterii omului...
Voi lasa mai jos codul.

helpers
public static function years_passed(string $date_input = '')
	{
		// Declare and define two dates
		$date1 = strtotime($date_input);
		$date2 = strtotime(date('Y-m-d H:i:s'));
		// Formulate the Difference between two dates
		$diff = abs($date2 - $date1);
		// To get the year divide the resultant date into
		// total seconds in a year (365*60*60*24)
		$years = floor($diff / (365 * 60 * 60 * 24));
		// To get the month, subtract it with years and
		// divide the resultant date into
		// total seconds in a month (30*60*60*24)
		$months = floor(($diff - $years * 365 * 60 * 60 * 24)
			/ (30 * 60 * 60 * 24));
		// To get the day, subtract it with years and
		// months and divide the resultant date into
		// total seconds in a days (60*60*24)
		$days = floor(($diff - $years * 365 * 60 * 60 * 24 -
				$months * 30 * 60 * 60 * 24) / (60 * 60 * 24));
		// To get the hour, subtract it with years,
		// months & seconds and divide the resultant
		// date into total seconds in a hours (60*60)
		$hours = floor(($diff - $years * 365 * 60 * 60 * 24
				- $months * 30 * 60 * 60 * 24 - $days * 60 * 60 * 24)
			/ (60 * 60));
		// To get the minutes, subtract it with years,
		// months, seconds and hours and divide the
		// resultant date into total seconds i.e. 60
		$minutes = floor(($diff - $years * 365 * 60 * 60 * 24
				- $months * 30 * 60 * 60 * 24 - $days * 60 * 60 * 24
				- $hours * 60 * 60) / 60);
		// To get the minutes, subtract it with years,
		// months, seconds, hours and minutes
		$seconds = floor(($diff - $years * 365 * 60 * 60 * 24
			- $months * 30 * 60 * 60 * 24 - $days * 60 * 60 * 24
			- $hours * 60 * 60 - $minutes * 60));
		$result = sprintf("%d ani, %d luni, %d zile, %d ore, "
			. "%d minute, %d secunde", $years, $months,
			$days, $hours, $minutes, $seconds);
		return $result;
	}


view code
<td><b>Varsta actuala</b></td>
								<td>
									@set($birthdate = date('Y-m-d H:i:s', strtotime($data->data_nastere)))
									{{\App\Helpers\Misc::years_passed($birthdate)}}
								</td>



#2
LuvRaluK

LuvRaluK

    Active Member

  • Grup: Members
  • Posts: 1,578
  • Înscris: 27.09.2006
In calculul tau toate lunile au 30 de zile si toti anii au 365 de zile. Ti se pare ok?

#3
d3v1l500

d3v1l500

    New Member

  • Grup: Junior Members
  • Posts: 23
  • Înscris: 26.04.2017

View PostLuvRaluK, on 23 iunie 2022 - 08:18, said:

In calculul tau toate lunile au 30 de zile si toti anii au 365 de zile. Ti se pare ok?
Da, asa e... nu e ok.. dar nu am nici macar o idee cum sa implementez ceva sa tina cont de fiecare an in parte de cate zile a avut sau de fiecare an in parte cand feb a fost 28 sau 29 ...
Poate cineva mai destept ma lumineaza

#4
LuvRaluK

LuvRaluK

    Active Member

  • Grup: Members
  • Posts: 1,578
  • Înscris: 27.09.2006
In primul rand, faptul ca te-ai legat neaparat de secunde e o cerinta, sau asa te-ai gandit tu?

Daca nu, atunci eu zic ca e mai usor sa lucrezi separat cu anul, luna si ziua.
In afara de anul de inceput si anul de sfarsit, restul sunt ani intregi, deci ai un punct de pornire.
Daca luna de inceput e mai mica sau egala cu luna de sfarsit, atunci mai ai inca un an intreg + cateva luni (te gandesti tu cate), in schimb daca luna de inceput e mai mare atunci mai ai doar X luni (la fel, te gandesti tu cate).
Mai departe te descurci ;)

#5
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,420
  • Înscris: 10.08.2005
https://yourblogcoac...f-birth-in-php/

#6
d3v1l500

d3v1l500

    New Member

  • Grup: Junior Members
  • Posts: 23
  • Înscris: 26.04.2017

View PostMarianG, on 23 iunie 2022 - 08:53, said:

Mersi frumos! asta m-a ajutat, doar ca am renuntat la afisarea lunilor si zilelor

Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate