Autor | Zpráva | ||
---|---|---|---|
Quicky Profil |
#1 · Zasláno: 2. 3. 2016, 10:53:24
Zdravím
Chtěl bych odečíst jednu hodinu ve výpisu z databáze. V databázi jsou uložené data např. čas vytvoření záznamu,ale je zde uložen čas na serveru. Jelikož je to na hostingu nemohu čas změnit. Tak jsem se uchýlil k tomu že změním pouze výpis z databáze. Prohledal jsem návody a weby ale nenašel jsem nic co by mi pomohlo. while ($radek = mysql_fetch_array($vysledek, MYSQL_ASSOC)) { $created = date("d.m. Y H:i:s", strtotime($radek["created"])); echo (' <table> <tr> <td class="velke">'.$created.'</td> '); ?> Tento kod my spravně vypisuje do každého řadku čas uložený v databázi. Není možné v kódu prostě jen odečíst jednu hodinu? |
||
Keeehi Profil |
Quicky:
Nepomohlo by správně nastavit časovou zónu? php.net/manual/en/function.date-default-timezone-set.php Případně to jde taky nastavovat v databázi. |
||
anonymníí Profil * |
#3 · Zasláno: 2. 3. 2016, 10:57:36
Quicky:
„Není možné v kódu prostě jen odečíst jednu hodinu?“ Je. Používáš funkci strtotime , doporučuji její bližší prozkoumání.
|
||
Quicky Profil |
#4 · Zasláno: 2. 3. 2016, 11:00:25
Keeehi:
Nepomohlo, data už jsou uložena v databázi, pracuji pouze s výpisem. anonymníí: To jsem zkoumal, a měla by fungovat,ale jelikož už ji tam používám tak nevím jak tam "nacpat" druhou funkci strtotime |
||
anonymníí Profil * |
#5 · Zasláno: 2. 3. 2016, 11:35:54
Quicky:
Sice nevím co, jak a kde jsi zkoumal, ale druhou funkci strtotime tam opravdu nepotřebuješ. PHP manuál jsi neviděl, že? Rozklikni si odkaz, který se udělal z názvu funkce strtotime ve tvém prvním příspěvku, podívej se, jaké a kolik parametrů má tahle funkce a jak se s ní vlastně pracuje.
|
||
Quicky Profil |
#6 · Zasláno: 2. 3. 2016, 12:36:06
anonymníí:
PHP manual jsem četl,ale nikde jsem neviděl že by použili dva parametry. Nejsem profesional, vidím tam mnoho způsobů použití,ale nic co by mi pomohlo. |
||
anonymníí Profil * |
#7 · Zasláno: 2. 3. 2016, 13:01:27
Quicky:
Podívej se na tenhle příklad, php.net/manual/en/function.strtotime.php#111989, měl by ti pomoci pochopit, jak se dá s tou funkcí také pracovat. Upozorňuje sice na nějakou nepřesnost, ale princip užití je tam správný a s jednou hodinou žádný problém nebude nastávat. |
||
Quicky Profil |
#8 · Zasláno: 2. 3. 2016, 14:03:18
anonymníí:
Ano tenhle jsem také četl a zkoušel,ale nesplnilo to účel. Je taky možné a jisté že dělám někde chybu. Nemůžeš mi to trochu více nastřelit? |
||
Martin2 Profil * |
#9 · Zasláno: 2. 3. 2016, 17:12:05
Quicky:
Počítat časové zóny ručně je cesta do pekel na plný plyn. Zaděláš si na neuvěřitelnou spoustu potíží. Používej objekt DateTime a metodu DateTime::setTimeZone , která pracuje s objektem DateTimeZone . Jakýkoliv jiný postup je špatný.
|
||
Quicky Profil |
#10 · Zasláno: 3. 3. 2016, 13:43:29
Martin2:
Děkuji,ale já momentálně pracuji pouze s výpisem, takže časové zony, nic z toho já neovlivním. Stačí my pouze do té funkce vložit +1 k hodině. To je celé. Nemůžu na to přijít. |
||
anonymníí Profil * |
#11 · Zasláno: 3. 3. 2016, 13:47:24
Quicky:
„Ano tenhle jsem také četl a zkoušel,ale nesplnilo to účel.“ Jak jsi to zkoušel implementovat u sebe? Použití je snadné, někde děláš chybu. Dokud neukážeš, jak s tím zkoušíš pracovat, těžko ji najdeme. Martin2: Souhlasím s tím, že u větších projektů je lepší pracovat s datem tak, jak uvádíš. U malého projektu, tím spíše v začátcích, kde Quicky je, se dá čas posunout i "ručně", moc velký problém bych v tom neviděl. Jsou weby, kde se případný posun skrze změnu času vůbec nemusí projevit, nebo tento projev nebude nikomu vadit. |
||
Quicky Profil |
#12 · Zasláno: 3. 3. 2016, 14:32:53
anonymníí, Martin2:
Je tu zmíněná funkce strtotime, koukal jsem na manual,a zněho tak nějak chápu jak to použít v "normálně" dle syntaxe. Ale jak to připojit do mého kodu který už tuto funkci obsahuje. Nejsem v tomhle zběhlí, a at to vkládám kamkoliv,nemá to požadovaný účinek. Podle mě to vyšší level... |
||
Martin2 Profil * |
#13 · Zasláno: 3. 3. 2016, 16:14:18
Quicky:
„Děkuji,ale já momentálně pracuji pouze s výpisem, takže časové zony, nic z toho já neovlivním.“ A co bude tvůj skript dělat poslední březnovou neděli, přibližně ve dvě v noci? Začne sám od sebe přidávat k novějším datům místo jedničky dvojku? anonymníí: „Souhlasím s tím, že u větších projektů je lepší pracovat s datem tak, jak uvádíš.“ Pokud je ten skript větší než dva řádky, tak je už dost velký na to, aby pracoval s časem správně. |
||
anonymníí Profil * |
#14 · Zasláno: 3. 3. 2016, 16:26:28
Quicky:
„a at to vkládám kamkoliv,nemá to požadovaný účinek.“ Tak ukaž, kam jsi ten den zkoušel vkládat. „Podle mě to vyšší level...“ Použití jedné funkce na základě ukázky řešící totéž? Pokud ano, třeba jen na programování nemáš vlohy a bude to chtít najít si jiného koníčka :-) Ukaž a uvidíme. |
||
Časová prodleva: 9 let
|
0