PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   MySQL Datumsabfrage Problem (Server UTC-Zeit) (http://www.selfphp.de/forum/showthread.php?t=25346)

DoubleF 06.08.2014 16:33:56

MySQL Datumsabfrage Problem (Server UTC-Zeit)
 
Hallo liebe Gemeinde,

habe ein Problem mit meinem Script bzw. meinem Server.

Bei meinem Webhoster werden die Zeiten in UTC angezeigt, sprich wenn ich das Datum einer News z.B. abfrage, wird es auf der Seite minus 2 Stunden angezeigt, also bei 14:00Uhr deutscher Zeit ist die Ausgabe 12:00Uhr.

Ich speichere das Datum in einer DATETIME Zeile mit dem MySQL-Befehl NOW() ab.

Wie kann ich das Datum mit der aktuellen deutschen Uhrzeit anzeigen lassen?

Vielen lieben Dank im Voraus.

MfG
Filipe

pguser 06.08.2014 16:36:54

AW: MySQL Datumsabfrage Problem (Server UTC-Zeit)
 
Zitat:

Zitat von DoubleF (Beitrag 146810)
Hallo liebe Gemeinde,

habe ein Problem mit meinem Script bzw. meinem Server.

Bei meinem Webhoster werden die Zeiten in UTC angezeigt, sprich wenn ich das Datum einer News z.B. abfrage, wird es auf der Seite minus 2 Stunden angezeigt, also bei 14:00Uhr deutscher Zeit ist die Ausgabe 12:00Uhr.

Ich speichere das Datum in einer DATETIME Zeile mit dem MySQL-Befehl NOW() ab.

Wie kann ich das Datum mit der aktuellen deutschen Uhrzeit anzeigen lassen?

Vielen lieben Dank im Voraus.

MfG
Filipe

Einfach die Zeitzone angeben.

Code:

test=*# select now() at time zone 'utc';
          timezone
----------------------------
 2014-08-06 13:56:00.726007
(1 row)

test=*# select now() at time zone 'cdt';
          timezone
----------------------------
 2014-08-06 08:56:00.726007
(1 row)


DoubleF 06.08.2014 16:41:49

AW: MySQL Datumsabfrage Problem (Server UTC-Zeit)
 
Also wenn meine Abfrage so aussieht

PHP-Code:

$sql mysql_query("SELECT news_date FROM news"); 

wie müsste die dann aussehen?

pguser 06.08.2014 17:22:07

AW: MySQL Datumsabfrage Problem (Server UTC-Zeit)
 
Zitat:

Zitat von DoubleF (Beitrag 146812)
Also wenn meine Abfrage so aussieht

PHP-Code:

$sql mysql_query("SELECT news_date FROM news"); 

wie müsste die dann aussehen?

Ist das sooo schwer?

Code:

test=*# create table doublef (news_date timestamp);
CREATE TABLE
test=*# insert into doublef values (now());
INSERT 0 1
test=*# select news_date at time zone 'utc' from doublef ;
          timezone
-------------------------------
 2014-08-06 17:56:00.726007+02
(1 row)

test=*# select news_date at time zone 'cdt' from doublef ;
          timezone
-------------------------------
 2014-08-06 22:56:00.726007+02
(1 row)


DoubleF 06.08.2014 20:26:55

AW: MySQL Datumsabfrage Problem (Server UTC-Zeit)
 
Wenn ich es wusste oder es nicht so schwer wäre würde ich ja nicht fragen oder?

Bin noch nicht lange dabei und habe folgende Abfrage:

PHP-Code:

$sql mysql_query("SELECT *, DATE_FORMAT(comments_date, '".DATE_STYLE_V."') AS comments_de_date FROM comments, users WHERE comments_videos_id = $vid AND comments_users_id = users_id ORDER by comments_date ASC") or die(mysql_error()); 

Ich möchte nun dass die deutsche Zeit in der variable $row['comments_de_date'] steht.

Deine angegebene Syntax versteh ich nicht...

pguser 06.08.2014 21:30:27

AW: MySQL Datumsabfrage Problem (Server UTC-Zeit)
 
Zitat:

Zitat von DoubleF (Beitrag 146814)
Ich möchte nun dass die deutsche Zeit in der variable $row['comments_de_date'] steht.

Dann schau in die Doku, wie es geht.

Zitat:

Deine angegebene Syntax versteh ich nicht...
Dann schau in die Doku, ...

DoubleF 06.08.2014 22:54:19

AW: MySQL Datumsabfrage Problem (Server UTC-Zeit)
 
Wow! Toller Beitrag!
Bei Angabe einer Zeitzone folgt bei mir ein Syntax-Fehler!

Kann mir möglicherweise jemand anders helfen?
Am besten an meinem Beispiel die korrekte Abfrage posten?

Vielen Dank.

Xor 07.08.2014 10:21:24

AW: MySQL Datumsabfrage Problem (Server UTC-Zeit)
 
Hi!

Der Vorschlag mit "at time zone" wird wohl nicht funktionieren, da du mit MySQL arbeitest, at time zone allerdings von PostgreSQL kommt.
Alles über die Zeitzonen und wie man damit am besten arbeitet findest du unter [1].
Ein bisschen Googlen und lesen hilft ;)

Dem CheatSheet nach würde ichs dann mit einer Query ähnlich
Code:

SELECT
CONVERT_TZ(`comments_date`, @@session.time_zone, '+02:00') AS `comments_de_date`
FROM `comments`

versuchen.

greez

[1] http://stackoverflow.com/questions/1...one-set-to-utc

DoubleF 07.08.2014 10:38:02

AW: MySQL Datumsabfrage Problem (Server UTC-Zeit)
 
Klappt wunderbar. Danke.

Kann man in der Abfrage auch direkt ein DATE_FORMAT hinzufügen?

Hat sich erledigt.

Hier falls es jemand benötigt:

PHP-Code:

SELECT 
DATE_FORMAT
(CONVERT_TZ(`comments_date`, @@session.time_zone'+02:00'), '".DATE_STYLE."') AS `comments_de_date
FROM `comments

Nochmals danke ;)


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:29:09 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.