Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki,

 

MySQL DB turiu pradinę datą ir galutinę datą.

Noriu gauti šių datų skirtumą t.y. galutinedata - pradinedata.

 

Kaip tai padaryti?

 

Rašau taip:

$Data = $row['galutinedata'] - $row['pradinedata'];

 

Tačiau šitą skaičiuoja tik metų skirtumą. T.y. dabar man išveda 0.

 

PVZ.

 

Gal. data: 2013-03-20

Pra. data: 2013-03-10

 

Noriu kad ats būtų: 10. T.y. 2013-03-20 - 2013-03-10.

 

Kaip tai gauti?

 

Dabar man išveda 0. Jei galutinę datą padarau 2014 išveda 1.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki,

 

MySQL DB turiu pradinę datą ir galutinę datą.

Noriu gauti šių datų skirtumą t.y. galutinedata - pradinedata.

 

Kaip tai padaryti?

 

Rašau taip:

$Data = $row['galutinedata'] - $row['pradinedata'];

 

Tačiau šitą skaičiuoja tik metų skirtumą. T.y. dabar man išveda 0.

 

PVZ.

 

Gal. data: 2013-03-20

Pra. data: 2013-03-10

 

Noriu kad ats būtų: 10. T.y. 2013-03-20 - 2013-03-10.

 

Kaip tai gauti?

 

Dabar man išveda 0. Jei galutinę datą padarau 2014 išveda 1.

 

Pirmiausia, PHP prieš vykdydama skyrybos operaciją string konevertuoja į skaičių. T.y. eilutė

 

'2013-03-20' - '2013-03-10'

 

prieš skaičiuojant skirtumą tampa tokia:

 

2013 - 2013

 

Dėl datų. Jei nori surast skirtumą, paprasčiausias variantas būtų susikurti DateTime objektus ir panaudoti tam skirtus metodus:

 

<?php

$dateFrom = new DateTime('2013-03-10');
$dateTo = new DateTime('2013-03-20');

echo $dateTo->diff($dateFrom)->format('%a days'); // Rezultatas: 10 days

 

Kitas variantas (nerekomenduoju) būtų gauti Unix timestamp ir paskaičiuoti skirtumą matematiškai:

 

<?php

$timeFrom = strtotime('2013-03-10');
$timeTo = strtotime('2013-03-20');

printf("%d days", ($timeTo - $timeFrom) / 60 / 60 / 24); // Rezultatas: 10 days

Nuoroda į pranešimą
Dalintis kituose puslapiuose


mysql> SELECT DATEDIFF('2013-03-20','2013-03-10') AS skirtumas;
+-----------+
| skirtumas |
+-----------+
|        10 |
+-----------+
1 row in set (0.00 sec)

 

Ir kam naudot kažką papildomai iš PHP?

Mintis teisinga. Nebuvo nurodyta kokiame kontekste reikia rezultato. :)

Kuo daugiau alternatyvų pateiksime, tuo didesnė tikimybė, kad viskas bus panaudota pagal paskirtį.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...