Mam ten kod, aby wyświetlić datę i godzinę z bazy danych. Jak zmodyfikuję go, aby odjąć 6 godzin od znacznika czasu.Odejmij 6 godzin od znacznika czasu Używając PHP
date('m-d g:Ga', strtotime($row['time_stamp']))
Mam ten kod, aby wyświetlić datę i godzinę z bazy danych. Jak zmodyfikuję go, aby odjąć 6 godzin od znacznika czasu.Odejmij 6 godzin od znacznika czasu Używając PHP
date('m-d g:Ga', strtotime($row['time_stamp']))
Znaczniki czasu UNIX to sekundy od epoki. Po prostu odjąć liczbę sekund, w ciągu sześciu godzin:
date('m-d g:Ga', strtotime($row['time_stamp'])-21600)
Można alternatywnie użyć strtotime
ponownie:
date('m-d g:Ga', strtotime('-6 hours', strtotime($row['time_stamp'])))
Ponieważ jest to w MySQL, można mieć MySQL zrobić obliczenia dla Ciebie:
SELECT DATE_FORMAT('...', DATE_SUB(time_stamp, INTERVAL 6 HOUR)) ...
Zaoszczędziłoby to na obciążeniu MySQL, który musiałby przekonwertować jego wewnętrzną reprezentację na pełny ciąg, a narzut strtotime PHP(), parsując ten ciąg, aby go zmienić. z powrotem do kolejnego ciągu. Chociaż strtotime jest czasami magiczne, zdecydowanie nie jest wydajne.
$ vindate = data ("H: i: s", strtotime ($ row ['ms_attend_time']) + 19800); echo $ vindate;
To działało na odjęcie czasu. Jednak bez dodania do niego -21600 echo wyniesie 3:03. Kiedy dodam do niego -21600, to echo to 21:21. Jak tracę tam czas? –
21600s = 6 godzin, więc nie wolno używać obu tych samych znaczników czasu. – Robin