| Autor | Správa |
evTOM
 Užívateľ
 Založený: 01.03.2007 Príspevky: 16
 | Zaslal: Pi 20.07.07 15:54 |   |
Prosím o pomoc. Mám ziskany dátum rozdeleny v troch premennách: $n_den, $n_mesiac, $rok. Potrebujem z tohto získať dátum s ktorým môžem robiť matematické operácia. Aká je na to funkcia? Ďakujem |
| |
  |
 |
Mavericker
 Užívateľ
 Založený: 28.03.2007 Príspevky: 13
 | Zaslal: So 21.07.07 13:05 |   |
ak ti mozem poradit tak urcite nepouzivaj datum tak ako ho chces pouzivat pouzi funkciu time() ta ti vrati pocet sekund od Januar 1 1970 00:00:00 GMT pricom sa da potom lahko s tym pracovat napriklad
| kód: |
$time = time();
$convert = date("Y-m-d, H:i:s",$time);
|
toto ti vrati nieco ako
2007-21-07, 12:53:25
na fomratovanie totho timestampu sluzi
| kód: | | date("Y-m-d, H:i:s",$time); |
to Y-m-d, H:i:s je ako sa ma formatovat timestamp vsetky moznosti su tu
| kód: | | http://www.php.net/manual/en/function.date.php |
s tym timestampoom sa daju robit aj lahke matematicke operacie
napriklad dni medzi datumami
| kód: |
$start = $timestamp;
$end = time();
$dates = round(abs($start-$end)/ 86400));
|
/ 86400 je co chces ziskat v tomto pruipade dni tak 60*60*24 to je 86400 keby si chcel hodiny tak 60*60 ked sekundy tak len 60 keby tyzdne 60*60*24*7 |
| |
  |
 |
evTOM
 Užívateľ
 Založený: 01.03.2007 Príspevky: 16
 | Zaslal: So 21.07.07 13:12 |   |
to ano, dakujem aj za toto, ale ide o to, ze ten datum zadava uzivatel (datum narodenia) a ten potrebujem previest na take cislo, aby sa dalo zistit kolko ma rokov a podobne |
| |
  |
 |
Mavericker
 Užívateľ
 Založený: 28.03.2007 Príspevky: 13
 | Zaslal: So 21.07.07 18:26 |   |
hej aj to je jednoduche spravis si listboxy v html kde budes mat roky mesiace dni a timestamp vygenerujes nasledovne
[code]
$timestamp = mktime ($hodina,$minuta,$sekunda,$mesiac,$den,$rok);
[code] |
| |
  |
 |
evTOM
 Užívateľ
 Založený: 01.03.2007 Príspevky: 16
 | Zaslal: So 21.07.07 18:33 |   |
| Mavericker napísal: | hej aj to je jednoduche spravis si listboxy v html kde budes mat roky mesiace dni a timestamp vygenerujes nasledovne
[code]
$timestamp = mktime ($hodina,$minuta,$sekunda,$mesiac,$den,$rok);
[code] |
ale ked tam dam mensi rok, tak zacne vypisovat zapornu hodnotu  |
| |
  |
 |
Mavericker
 Užívateľ
 Založený: 28.03.2007 Príspevky: 13
 |
aky mensi rok? ako 2007 ? ci aky |
| |
  |
 |
evTOM
 Užívateľ
 Založený: 01.03.2007 Príspevky: 16
 | Zaslal: Pi 27.07.07 13:49 |   |
| Mavericker napísal: | | aky mensi rok? ako 2007 ? ci aky |
Ked zadam datum mensi ako 1.1.1970 (napr.: 1.1.1950), tak mi z toho spravi datum 31.12.1969
Zdrojovy kod:
$n_datum = mktime(0,0,0,$n_mesiac,$n_den,$n_rok);
echo date("d.m.Y",$n_datum); |
| |
  |
 |
Mavericker
 Užívateľ
 Založený: 28.03.2007 Príspevky: 13
 | Zaslal: So 28.07.07 15:27 |   |
ano najmenis timestmap je 1.1.1970 zaciatok unixovje epochy .... tak to budesm use vymyslet nejak inac nejaky priznak ako to pripocitavat neviem fakt ako ti poradit |
| |
  |
 |
stenley
 Moderátor
 Založený: 27.07.2007 Príspevky: 3776 Bydlisko: Bratislava Vek: 27
 | Zaslal: So 28.07.07 18:12 |   |
nevies od aktualneho roku odpocitat rok, ktory zadal uzivatel?  |
| |
    |
 |
kmsa
 Užívateľ
 Založený: 26.07.2006 Príspevky: 1383 Bydlisko: Slovakia-Košice
 | Zaslal: So 28.07.07 20:32 |   |
| stenley napísal: | nevies od aktualneho roku odpocitat rok, ktory zadal uzivatel?  |
chces nieco ako thento uzivatel ma presne 20rokou 30dni a 6h ? |
_________________ CPU: Intel E7200 momentalne default + freezer 7 pro | MB: Gigabyte GA-P35-DS3 rev. 2.0 F14 | RAM: A-DATA 4x1GB EE Vitesta | VGA: ATI Radeon HD4850 Sapphire Dual Slot | Monitor: BenQ E2200HD+17CTX | HDD: WD 3200AAKS + Maxtor 6Y080M0 80GB SATAII + 120GB ATA Barracuda | PSU: Corsair VX450W | Windows 7 Ultimate Sk | REPRO: Logitech X-210
+
IPhone 3GS JB 3.1.3 (new BR)
múdry sa postara o seba ale ešte múdrejši sa postara aj o druhých | |
    |
 |
evTOM
 Užívateľ
 Založený: 01.03.2007 Príspevky: 16
 | Zaslal: Ut 31.07.07 14:26 |   |
| kmsa napísal: | | chces nieco ako thento uzivatel ma presne 20rokou 30dni a 6h ? |
No to by sa mi tiez zislo. Vies nieco na to? |
| |
  |
 |
Mavericker
 Užívateľ
 Založený: 28.03.2007 Príspevky: 13
 | Zaslal: St 01.08.07 10:37 |   |
tak to nomrlane odpocitaj
jeho rok
jeho mesiac
jeho den
dnesny rok
dnesny mesiac
dnesni den
jr - dr
jm -dm
jd - dd |
| |
  |
 |
Flety
 Užívateľ
 Založený: 26.11.2006 Príspevky: 4109 Bydlisko: HE(Humenne) - KE Vek: 18
 | Zaslal: Po 11.02.08 20:00 |   |
Oprášim tuto staru temu ja som vyuzil Mavericker-ov prvy post ale mne to vypisalo ze rok pridania je 638286 a pritom v db mam ulozene 20080211183657 kod som pouzil:| kód: |
$time = date("d.m.Y, H:i",$vypis_clanky["datum"]);
//a nasledne vypis
echo $time;
| nechapem kde je chyba. Vdaka za odpovede |
_________________ Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5K CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 5-5-5-12 GPU: Saphire ATi Radeon HD5850 Toxic HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: Fortron Epsilon 700W LCD: LG L226W 1680x1050 2ms | |
       |
 |
Tominator
 Zablokovaný užívateľ
 Založený: 21.02.2007 Príspevky: 4009
 | Zaslal: Ut 12.02.08 13:41 |   |
Drako ukladaj to postupne ako Rok - Mesiac - Den - Cas
a môžeš vlastne dať
cez fukciu Date si zistíš dnešný Rok - Mesiac - Den - Cas a odrátašľ od získaného ->
| kód: |
$dnesny_rok=Date("Y");
$zadany_rok=$rok; // trebars z databazy
$ako_stary_na_rok=$dnesny_rok - $zadany_rok;
echo "Uživateľ má niečo okolo $ako_stary_na_rok rokov";
|
dá sa to kombinať prepočtami napr.
| kód: |
$na_dni=$ako_stary_na_rok*365;
$zadany_den=$den; // vo forme date("z")
$dni=$na_dni + $zadany_den;
echo "Uživateľ bol vytvorený pred $dni dňami";
|
Myslím, že by to malo fungovať |
| |
  |
 |
Flety
 Užívateľ
 Založený: 26.11.2006 Príspevky: 4109 Bydlisko: HE(Humenne) - KE Vek: 18
 | Zaslal: Ut 12.02.08 15:59 |   |
ale ja to nepotrebujem odratavat ale len vyberat, lenze ja to ukladam do TIMESTAMPU cez funkciu NOW() tak to nevviam akospravim |
_________________ Desktop: CASE: Cooler Master Centurion 532 MB: ASUS P5K CPU: Intel Core 2 Quad Q6600@2,4GHz FSB 1066MHz RAM: A-Data Vitesta 2×2GB 800MHz Cl 5-5-5-12 GPU: Saphire ATi Radeon HD5850 Toxic HDD: Seagate Barracuda 500GB 7200rpm ODD1: LG DVD+/-RW + LS(PATA) ODD2:LG DVD+/-RW(SATA) PSU: Fortron Epsilon 700W LCD: LG L226W 1680x1050 2ms | |
       |
 |
|