• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Obliczanie lat

VPS Starter Arubacloud
0 głosów
569 wizyt
pytanie zadane 7 marca 2017 w PHP przez prymex Obywatel (1,250 p.)
edycja 7 marca 2017 przez Eryk Andrzejewski
Witam.

Mam stronę, gdzie można przy rejestracji podać wiek, ale to nie jest nie ważne. Moje pytanie brzmi: czy jest funkcja (a jak tak, to jaka?), która wyliczy różnicę urodzenia użytkownika, czyli na przykład: ktoś urodził się w roku 2002, a jest 2017 to na stronie wyświetli się "użytkownik ma 15 lat" :)
1
komentarz 7 marca 2017 przez jpacanowski VIP (101,940 p.)
edycja 7 marca 2017 przez jpacanowski
Powinieneś zostać ukarany za ten język którym się posługujesz tu na forum. Zdania są nielogiczne, jeden wielki słowotok, brak spójności, podwójne zaprzeczenie, brak przecinków i kropek. Szanuj swój język, oraz tych do których się zwracasz. Mniej emotikonek, a więcej znaków interpunkcyjnych. A właśnie, gdzie jest znak zapytania?
komentarz 7 marca 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Całkowicie zgadzam się z jpacanowski

Proszę o zachowanie odrobiny kultury i poświęcenie kilku chwil na ładne zadanie pytania. Interpunkcja jest wbrew pozorom bardzo ważna, często zapobiega niejednoznaczności wypowiedzi, a także ułatwia czytanie.

Radzę się stosować do tych zaleceń, notoryczne ich nieprzestrzeganie może grozić zablokowaniem konta.

komentarz 7 marca 2017 przez manjaro Nałogowiec (37,390 p.)
edycja 7 marca 2017 przez manjaro
Również zgadzam się z przedmówcami.
1
komentarz 7 marca 2017 przez Gieram Sobie Użytkownik (640 p.)
edycja 7 marca 2017 przez Gieram Sobie
Ja was proszę kochani, trochę wyrozumiałości. Ja rozumiem, że poprawna polszczyzna potrafi koleć w oczy, sam miałem tak nie raz. Pamiętam, jak co dwa zdania poprawiałem kolegów - "włączać" nie ""włanczać", "wziąć" a nie wziąść" itp. Po jakimś czasie zrozumiałem jedno: co z tego jak gramatycznie się wypowiadasz, ważne, czy ktoś cię zrozumie. Sytuacja: przyjeżdża koleś z Zanzibaru, pyta łamaną polszczyzną: "ja chcieć się dostać na dworzec, czy ty mi powiedzieć gdzie jest?" A Ty co odpowiadasz? Czy "Stary to niepoprawnie gramatycznie, poza tym te przecinki, naucz się gramatyki to pogadamy", czy "Tu lewo, 100 i w prawo i zaraz w lewo"?

Edit:

Zapomniałem dodać - ja pytanie zrozumiałem w 100%, pierwsze co bym zrobił, to zastanawianie się nad rozwiązaniem, a nie nad polszczyzną.

Pozdrawiam serdecznie :>
1
komentarz 7 marca 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Tylko, że niepoprawna interpunkcja (lub jej brak) może mieć ogromny wpływ na zrozumienie tekstu. Posłużę się (znalezionym w Internecie, całkiem fajnym zresztą) przykładem:

Twoja stara piła leży w piwnicy

Twoja stara piła,leży w piwnicy

Łatwo zauważyć, że drobny przecinek zmienił całkowicie sens zdania :)

 

 

1
komentarz 7 marca 2017 przez Gieram Sobie Użytkownik (640 p.)
Oczywiście ma Pan rację, co nie zmienia faktu, że w zagadnieniu to poruszonym nie ma to absolutnie żadnego znaczenia.
komentarz 7 marca 2017 przez manjaro Nałogowiec (37,390 p.)
Jest jednak drobna różnica, nasz kolega nie przyjechał z Zanzibaru ;) Poza tym pisząc poprawnie okazujesz szacunek odbiorcy.
komentarz 8 marca 2017 przez Gieram Sobie Użytkownik (640 p.)
Skąd przyjechał, to nie wiemy. I bardzo dobrze rozumiem, co Pan ma na myśli, też tak kiedyś miałem. Dalej jednak uważam, że gramatyka stanowi mniejszy problem niż zrozumienie. Pracują z zespołami, np. anglojęzycznymi nie raz doświadczyłem, że jednak zrozumienie jest ważniejsze niż gramatyka. W branży nieważne jest czy powiesz coś poprawnie, tylko czy wykonasz dobrze swoja robotę.

4 odpowiedzi

+1 głos
odpowiedź 7 marca 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)
edycja 7 marca 2017 przez Eryk Andrzejewski

Niedługo ludzie się zaczną pytać jak włączyć komputer...

Pobierasz czas z serwera, interesuje Cię rok. Od tego roku odejmujesz rok urodzenia użytkownika, a wynikiem jest wiek użytkownika, czyli to co zapewne chciałeś uzyskać.

Na wszelki wypadek podam też link: http://php.net/manual/en/function.date.php

Wybacz, zastosuj tak jak Arek mówi: http://php.net/manual/en/book.datetime.php

 

 

komentarz 7 marca 2017 przez prymex Obywatel (1,250 p.)
Masz rację mój błąd to nie było najlepsze pytanie nie pomyślałem pytając , dziękuję serdecznie :)
2
komentarz 7 marca 2017 przez Arkadiusz Waluk Ekspert (287,550 p.)
Polecam bardziej klasę DateTime, jest nowsza i ma większe możliwości.

http://php.net/manual/en/book.datetime.php
komentarz 7 marca 2017 przez prymex Obywatel (1,250 p.)
Dzięki na pewno się z tym zapoznam :D
komentarz 7 marca 2017 przez jpacanowski VIP (101,940 p.)

Albo gorzej, jak wyłączyć :)

https://www.youtube.com/watch?v=Hhn5gT3uDgA

1
komentarz 7 marca 2017 przez efiku Szeryf (75,160 p.)
DateTime a nie żadne date.
komentarz 7 marca 2017 przez Gieram Sobie Użytkownik (640 p.)
Panie Eryku, czy nie zapomina Pan o tym, że to forum jest skierowanie do osób które chcą czerpać wiedzę? Czy nie uważa Pan, że nie każdy ma taką wiedzę jak Pan? Moim zdaniem stwierdzenia takie jak "Niedługo ludzie się zaczną pytać jak włączyć komputer..." świadczą tylko o Pańskiej ignorancji i dążeniu do tego, że ja wiem więcej i jestem lepszy.
komentarz 8 marca 2017 przez manjaro Nałogowiec (37,390 p.)
Ktoś tu chyba trolluje... Ustalenia wieku na podstawie jego daty urodzin to jest chyba zadanie na poziomie 4 klasy podstawowej. Ewentualnie piątej. Programiście chyba nie wypada zadawać takich pytań...
komentarz 8 marca 2017 przez Gieram Sobie Użytkownik (640 p.)
No nie wiem, jestem rocznik 84 i w mojej podstawówce nie uczono takich rzeczy. Było trochę pascala, poza tym to Małysz :D Nie wiem jak jest teraz. Jednocześnie zauważam, że ktoś, kto pyta o takie rzeczy nie jest programistą, jest ew. POCZĄTKUJĄCYM programistą który szuka rozwiązań, a nie jak składnie  opisać problem.
komentarz 8 marca 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Tylko, że pytanie zadane przez autora było banalne i w żadnym wypadku nie było to problem informatyczny, lecz matematyczny na poziomie klas 1-3 podstawówki.

Nie, ja nie mam o sobie wysokiej samooceny i nigdy w ten sposób nie myślę. Po prostu jako moderatora irytuje mnie to, że ludzie z każdą pierdołą przychodzą zapytać na forum. Uważam, że taką drogą za daleko się nie zajdzie. Trzeba zmotywować ludzi do samodzielnego poszukiwania rozwiązania problemu. I nie neguję tutaj sensu istnienia forum, ale po prostu uważam, że należy chwilę pomyśleć samodzielnie lub poszukać w wyszukiwarce, czy ktoś inny miał podobny problem, zanim zada jakiekolwiek pytanie.

No nie wiem, jestem rocznik 84 i w mojej podstawówce nie uczono takich rzeczy.

No cóż, zdaje się było to na tyle oczywiste, że nikt tego nie musiał uczyć :)

0 głosów
odpowiedź 7 marca 2017 przez KariK-02 Mądrala (6,030 p.)
function oblicz($rok, $rocznik){

	return (($rok - $rocznik) >= 18) ? true : false;

}

 

0 głosów
odpowiedź 8 marca 2017 przez xandros Nałogowiec (29,450 p.)
edycja 8 marca 2017 przez xandros

Koledze chodziło chyba o to, by słownie wypisywało ile dany user ma lat.

Proszę, przerób sobie ten "brzydki" kod :P

    public function getAge()
    {
        if (empty($this->birthday)) {
            return 'Nie powiem';
        }
        $age = (new DateTime($this->birthday))->diff((new DateTime()), true)->y;
        if ($age < 8) {
            return 'Za młody by mieć konto';
        }
        if ($age > 120) {
            return 'Starszy niż świat';
        }
        $age .= ' ' . ($age == 1 ? 'rok' : ($age % 10 >= 2 && $age % 10 <= 4 && ($age % 100 < 10 || $age % 100 >= 20) ? 'lata' : 'lat'));

        return $age;
    }

 

komentarz 8 marca 2017 przez efiku Szeryf (75,160 p.)
CleanCode się kłania ;) a dokładniej rozdział o znaczeniu zmiennych.
komentarz 8 marca 2017 przez xandros Nałogowiec (29,450 p.)
czyżby zmienne nie sugerowały, że przechowują WIEK? :D
0 głosów
odpowiedź 8 marca 2017 przez dev Nowicjusz (180 p.)

Jest a zwie się to... odejmowanie.

$wiek = date("Y")-$rok_ur_user;
echo "Użytkownik ma ".$wiek." lat";

 

Podobne pytania

0 głosów
2 odpowiedzi 607 wizyt
pytanie zadane 15 lutego 2017 w Matematyka, fizyka, logika przez Bakr Mądrala (6,850 p.)
0 głosów
1 odpowiedź 563 wizyt
0 głosów
2 odpowiedzi 315 wizyt
pytanie zadane 3 grudnia 2016 w C i C++ przez orlicki12 Początkujący (450 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...