Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana Godziny
Forum PHP.pl > Forum > Przedszkole
b2n
Szukałem na forum ale nie zlokalizowałem zaznaczam ;-)

jak to zrobić mądrze mam takiego stringa 7:46 PM i teraz chiałbym to zamienić na 19:46 i tyle można to zamienić kasując z tego stringa te literki a pierwszą wymienić na odpowiednia godzine w czasie 24 h ale może da się to zrobić jakoś mądrzej przy użyciu date ? no oczywiście kiedy jest AM zostaje godzina ta co jest...
crash
  1. <?php
  2. echo date('H:i', strtotime('7:46 PM'));
  3. ?>
b2n
Hmmm zastosowałem tą funkcje ale niebardzo wiem czemu mam taki wynik

7:46 AM >> 00:59 sprawdziłem godzine na swerwerze wskazuje prawidłową ?
ta sama sytacja jest przy godzinach PM i też wskazuje 00:59

pozdrawiam...
crash
Sprawdziłem to pod Windowsem i Linuxem, pod php 4.3.x i 5.0.3, wszędzie wyświetliło dobry wynik.

7:46 AM została zamieniona poprawnie na 07:46
b2n
a jaka moze byc proponowana przyczyna błędnego wyniku serwer ? chyab tak nie ale co ?
tiraeth
  1. <?
  2. echo date('H:i', strtotime('7:46pm'));
  3. ?>


a co zwraca ten kod ?
b2n
zwraca tyle 00:59 niewazne jaka godzina... :-(
tiraeth
sprawdź co zwraca
  1. <? echo strtotime('7:46pm'); ?>
b2n
Cytat
  1. <? echo strtotime('7:46pm'); ?>

sprawdź co zwraca

zwraca -1
crash
Dziwne, że strtotime tego nie przetworzył. Jaka wersja php?
b2n
php 4.1.2 rozumiem że to może być wina wersji ?
crash
Może to coś da (notatka z manuala spod opisu funkcji strtotime" title="Zobacz w manualu PHP" target="_manual):
Cytat
If anyone is stuck with PHP5 version <5.0.3, and needs to use strtotime functions:

<?php
function strtotimefix($strtotime)
{
  return time() + (strtotime($strtotime) - strtotime('now'));
}

strtotime('+10 seconds'); // will not work as expected
strtotimefix('+10 seconds'); // should work as expected
?>
b2n
Fajno hula więc jesli ktoś miałby taki problem:

  1. <?php
  2. function strtotimefix($strtotime)
  3. {
  4. return time() + (strtotime($strtotime) - strtotime('now'));
  5. }
  6.  
  7. echo date('H:i', strtotimefix('07:40 PM'));
  8. ?>

WYNIK: 19:40

Pozdrawiam i dzięki ;-)
tiraeth
Ja proponuję zainstalować php 4.3.x bo na 4.1.2 dużo funkcji nie działa... a najlepsze rozwiązanie: PHP5
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.