Dátumok kivonása

Dátumok kivonása
2012-01-19T22:55:38+01:00
2012-01-20T09:55:35+01:00
2022-11-24T10:25:41+01:00
mezofi
Sziasztok.
Olyan függvényt kellene írnom ami születési idő alapján megmondja, hogy megfelelő-e a beírt adóazonosító jel.
Javascriptben már megvan, azonban nem tudom mely Php függvény lenne alkalmas amivel ugyanazon adatokat kapom mint a javascriptes kódban.

Itt lenne a javascript:

function adJelChBirthday(s, adojel, hibaText){ /* s = születési adatok év.hó.nap formában adojel 10 karakter */ if(adojel.length == 10){ months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; d1 = new Date('01 Jan 1867 00:00 GMT'); d2 = new Date(s.substr(8, 2) + ' ' + months[s.substr(5, 2) - 1] + s.substr(0, 4) + ' 00:00 GMT'); days = (d2 - d1) / 86400000; if(adojel.substr(1,5) != days){ alert(hibaText); return false; } } }

A lényeg, hogy az átadott születési időpontból ki kell vonni ezt a dátumot: 01 Jan 1867 00:00 GMT, majd osztani.
Valszeg a formátum sem jó a php függvénynek. Akkor majd megadom úgy, de első körben ki kellene találni mely függvény lenne erre a célra alkalmas.

Köszi
Mutasd a teljes hozzászólást!
Egy apró trükk
<? $adoszam="**********"; // $resz=substr($adoszam,1,5); $nap=$resz-37620; // 1867.01.01 és 1970.01.01 közti napok száma $szul=strtotime( "+" . $nap ." day", 0); echo date('Y.m.d',$szul); ?>

Adószámból dátum, amivel már tudsz vizsgálni.

---
Vagy a másik irány:
<? $szul='2007-08-25'; echo "Az adószám 2..5. jegye: ". (round(strtotime($szul)/86400)+37620) ."<br>"; ?>
Mutasd a teljes hozzászólást!

  • Több függvény is van a célra, igazából az számít, hogy milyen formában adod át:
    strtotime
    mktime

    Ha év.hónap.nap formában egy stringben, akkor explode-dal szedd szét tömbre, majd add át pl. a mktime-nak, ami készít egy timestamp-et amit már felhasználhatsz a kivonásra-osztásra.
    Mutasd a teljes hozzászólást!
  • Ha év.hónap.nap formában egy stringben, akkor explode-dal szedd szét tömbre, majd add át pl. a mktime-nak, ami készít egy timestamp-et amit már felhasználhatsz a kivonásra-osztásra.


    Kicsit rövidebben:
    $timestamp=strtotime(str_replace(".","-",$Dátum))
    Mutasd a teljes hozzászólást!
  • Huuurrrááá!

    Immár sikerült nekem is timestampot 'gyártanom' pl. saját születési dátumomból!
    Most már csak arra a számra lenne szükségem, amit ki kellene vonnom ebből, hogy megkapjam az 1867. Jan. 1.-e óta eltelt napok számát.

    Addig csak valami ilyesmit tudok csak használni:
    define ('__EZT_TALALD_KI_MIERT', 2402968); $szul_datum = 'yyyy.mm.dd'; if( gregoriantojd( substr($szul_datum,5,2), substr($szul_datum,8,2), substr($szul_datum,0,4) ) - __EZT_TALALD_KI_MIERT != substr($adojel,1,5) ) { echo 'HOHÓ! baj van!!';} else { echo 'Jól van, ügyes vagy';}

    megj.: Csak az utolsóra kattintva!
    Mutasd a teljes hozzászólást!
  • Egy apró trükk
    <? $adoszam="**********"; // $resz=substr($adoszam,1,5); $nap=$resz-37620; // 1867.01.01 és 1970.01.01 közti napok száma $szul=strtotime( "+" . $nap ." day", 0); echo date('Y.m.d',$szul); ?>

    Adószámból dátum, amivel már tudsz vizsgálni.

    ---
    Vagy a másik irány:
    <? $szul='2007-08-25'; echo "Az adószám 2..5. jegye: ". (round(strtotime($szul)/86400)+37620) ."<br>"; ?>
    Mutasd a teljes hozzászólást!
  • Köszi mindenkinek.
    Persze a kopi past kód nyert.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd