PC.sk

Počítačová ąkola . sk

Ponuka
Návštevnosť
DB-MySQL

MySQL 4.0 a vyššie - Článok 07 - 5.1 Dátum a čas - použitie v Php

Dátum a čas - použitie v Php a volanie -dopyty- do MySQL

Dobrý deň! Dnes si povieme a uvedieme najzákladnejšie príklady použitia stĺpcov DATATIME v datábáze MySQL a spôsobe formátovania dátumu a času pre dopyty do MySQL. V neposlednom rade uvedieme aj spôsob nastavenia časovej zóny pre SLOVENSKO a uvedieme spôsob výpisu dňa v týždni.



Výpis aktuálneho dátumu a času ako reťazec

 $gcDate = date('Y-m-d'); //  reťazec = aktuálny dátum v tvare 2014-02-09

  $gcTime = date('H:i:s'); // reťazec = aktuálny čas v tvare 21:05:00

 $gcDateTime = date('Y-m-d H:i:s');
  // reťazec = aktuálny dátum a čas 

  // výpis v Nemeckom tvare = Slovenský tvar dátumu  napr. 9.2.2014 

  // -- bez úvodných núl => najprv deň, mesiac a rok v 4-cifernom tvare

 $gcGermanDate = date('j.n.Y');


Spracovanie aktuálneho dátumu a času v DATATIME tvare

 // Nech dnes je 11.5.2014.  A práve je  11:46:16 hodín.

$gdDate = strtotime(date('Y-m-d'));
// DATETIME format = dátum s časom o pol noci
$gdTime = strtotime(date('H:i:s'));
// DATETIME format = aktualny čas s dnešným dátumom
$gdDateTime = strtotime(date('Y-m-d H:i:s'));
// DATETIME format = aktualny dátum a čas

// NAJLEPŠÍ spôsob získania DATATIME:
$gdDateTime = time(); // s DATATIME môžeme pracovať ako s číselnou hodnotou v sekundách

echo('<br> Dátum: ');

echo(date('Y-m-d H:i:s',$gdDate));  // Vypíše 2014-05-11 00:00:00

echo('<br> Čas: '); 

echo(date('Y-m-d H:i:s',$gdTime)); // Vypíše 2014-05-11 11:46:16

echo('<br> Dátum a čas: '); 

echo(date('Y-m-d H:i:s',$gdDateTime)); // Vypíše 2014-05-11 11:46:16

echo('<br> Priamo Dátum a čas: '); 

echo(date('Y-m-d H:i:s',time() )); // Najlepší spôsob = 2014-05-11 11:46:16


 

Najjednoduchšie pripočítanie konštanty k dátumu a času v php

Ešte raz pripomenieme, že s DATATIME môžeme pracovať ako s celým číslom vyjadrujúcim čas v sekundách. Môžeme teda k danému času pripočítavať aj odpočítavať ľubovoľný počet sekúnd. Ak sa odpočíta viac ako bolo od pol noci, zníži sa aj dátum.

$gcDateTimedate('Y-m-d H:i:s',time() + 23 ); // K aktuálnemu dátumu a času pripočítaj 23-sekúnd
echo('<br> O 23 sekúnd : '.$gcDateTime);


$gcDateTimedate('Y-m-d H:i:s',time() + 60 ); // K aktuálnemu dátumu a času pripočítaj 1-minútu
echo('<br> O minútu : '.$gcDateTime);

 
$gcDateTimedate('Y-m-d H:i:s',time() + 3600 ); // K aktuálnemu dátumu a času pripočítaj 1-hodinu
echo('<br> O hodinu : '.$gcDateTime);


$gcDateTime_Vcera = date('Y-m-d H:i:s',time() - 3600 * 24 * 1 ); // Od aktuálneho dátumu a času odpočítaj jeden deň
echo('<br> Včera : '.$gcDateTime_Vcera);


$gcDateTime_o6dni = date('Y-m-d H:i:s',time() + 3600 * 24 * 6 ); // K aktuálnemu dátumu a času pripočítaj šesť dní
echo('<br> O šesť dní : '.$gcDateTime_o6dni); 



Štandardný Formát, ktorý môžeme bez úprav posielať do MySQL Databázy

 Pre priame posielanie dátumu do MySQL datábázy musíme dostať dátum do nasledujúceho formátu ako reťazec => "2014-05-11 11:46:16". Uvedieme len príklad použitia. Je z neho všetko úplne jasné. Ak používame na porovnávanie iba dátum je vhodnejšie nemiešať tam čas. Dobre je ponechať dátum s časom o pol noci.

Napr:

$gcDatedate('Y-m-d',$gdDate)." 00:00:00"; // Zrušenie času z DATETIME na pol noc.

Príklad použitia dátumu a času z php priamo v MySQL: 

$gcDatedate('Y-m-d H:i:s',$gdDate);
$gcDate_o6dni = date('Y-m-d H:i:s',3600 * 24 * 6 + $gdDate);


$lcSQL  = " SELECT * FROM  tabulka WHERE  stlpec_d_den BETWEEN '".$gcDate."' AND '".$gcDate_o6dni."' AND stlpec_zrus=0 ORDER BY stlpec_d_den, stlpec_PrimarnyKluc ";


$loQuery = mysql_query($lcSQL) or exit ("Zlý dopyt PORTAL 001:<br> " . mysql_error()."<br>SELECT= <br>".$lcSQL);



Nastavenia časovej zóny pre SLOVENSKO a spôsob výpisu dňa v týždni

setlocale(LC_TIME, 'sk_SK'); // nastavenie slovenských mien dni v týždni 

 

Spôsob výpisu dňa v týždni pre kódovanie utf-8:

echo strftime('%A', time() );// php výpis => deň v týždni

Spôsob výpisu dňa v týždni pre kódovanie windows-1250:

echo str_replace("µ","ľ",str_replace("©","Š", strftime('%A', time()   ) ) );

 


[Akt. známka: 0 / Počet hlasov: 0] 1 2 3 4 5