News - Features - Downloads - Forum - Team - Support - Switch View: Screen
Login - Registrierung - Passwort vergessen

Antworten: 8
Seite [1]
Dionysius


Wannabe poster




Beiträge: 21
# Thema - 11.07.2008 um 13:33 Uhr
Hallo liebe clansphere:community

Ich habe ein Problem mit den Zeiten, die ich selbst zusammen setzen muss. Der Benutzer muss über Dropdown-Felder das gewünschte Datum mit der Uhrzeit angeben. Die Ausgabe ist aber um +2h verschoben (vermutlich Zeitzonen). Nach langer suche habe ich aber den Fehler immernoch nicht gefunden...


Eingabe

11. 7. 2008 - 12:00
(Tag. Monat. Jahr - Stunde:Minute)


Umrechnung zu Timestamp

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
1. / 2. / ... 
<?php
$cs_teamplaner
['meeting_time'] = mktime(
  
$cs_teamplaner['meeting_hour'],
  
$cs_teamplaner['meeting_minute'],
  
0,
  
$cs_teamplaner['meeting_month'],
  
$cs_teamplaner['meeting_day'],
  
$cs_teamplaner['meeting_year']
);
?>


Timestamp in der DB

1215777600


Umrechnung zu Ausgabe

 
1.
2.
3.
4.
1. / 2. / ... 
<?php
$data
['teamplaner']['meeting_time'] = 
  
cs_date('unix',$cs_teamplaner['meeting_time'],1);
?>


Ausgabe

11.07.2008 um 14:00 Uhr


Was fehlt mir / habe ich vergessen / mache ich falsch ?

Thx
Inaktiv
Nachtmeister


Specialist




Herkunft: Bern
Beiträge: 2091
# Antwort: 1 - 11.07.2008 um 14:11 Uhr
Sind die zeitangaben auf der Seite sonst richtig? Ansonsten schau dir mal die Einstellungen deines Clansphere's an. Vielleicht hast du die falsche zeitzone eingestellt oder Sommerzeit nicht gesetzt.


------------------
"God created the universe in 1 Day, and then spent 5 days making it look good In Internet Explorer"

Inaktiv
|
Dionysius
Thread-Ersteller


Wannabe poster




Beiträge: 21
# Antwort: 2 - 11.07.2008 um 14:13 Uhr
gerade jetzt debug.php ausgeführt:

11.07.2008 um 14:12 Uhr nach UTC +1 [Sommerzeit] - Load: 117ms - Queries: 18


Alles Korrekt... :(


btw: was wäre der richtige wert aktuell von date('Z')? bei mir ist es nämlich 0... ist das richtig?


Zuletzt editiert von Dionysius am 11.07.2008 um 14:15 Uhr (1x Editiert)
Inaktiv
|
Nachtmeister


Specialist




Herkunft: Bern
Beiträge: 2091
# Antwort: 3 - 11.07.2008 um 14:16 Uhr
Schau dir nochmal die Ausgabe an in diesem moment. Wenn da jetzt 14:15 Uhr steht wird eindeutig die aktuelle Zeit ausgelesen

Ich habe leider wenig ahnung von der Materie.


------------------
"God created the universe in 1 Day, and then spent 5 days making it look good In Internet Explorer"

Inaktiv
|
Dionysius
Thread-Ersteller


Wannabe poster




Beiträge: 21
# Antwort: 4 - 11.07.2008 um 14:44 Uhr
Naja gut, an date('Z') kanns ja nicht liegen, alles andere, was über cs_time() abgespeichert wird, stimmt ja korrekt... apropos... vergleich:


cs_time() vs mktime()

cs_time() wird ja benutzt... um den aktuellen postingzeitpunkt abzuspeichern, angezeigt wird es aber korrekt
 
1.
2.
3.
4.
5.
6.
7.
8.
1. / 2. / ... 
<?php

function cs_time() {
    
$time time() - date('Z');
    return 
$time;
}

?>


mktime() benutze ich jetzt mit den exakt gleichen daten (so genau wie möglich)
 
1.
2.
3.
4.
5.
1. / 2. / ... 
<?php

$temp_time 
mktime(14,45,0,7,11,2008) - date('Z');

?>


Hier der direkte Vergleich:
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
1. / 2. / ... 
<?php

$time1 
cs_time();
$time2 mktime(14,45,0,7,11,2008) - date('Z');

echo 
'Time1: '.$time1.' ('.cs_date('unix',$time1,1).')<br />';
echo 
'Time2: '.$time2.' ('.cs_date('unix',$time2,1).')';

?>


Resultat (meine Systemzeit 14:43)

Time1: 1215780199 (11.07.2008 um 14:43 Uhr)
Time2: 1215787500 (11.07.2008 um 16:45 Uhr)


Strange :(



edit: jetzt glaube ich das problem verstanden zu haben...
die funktion time() gibt nur das UTC/GMT-Format aus, es berücksichtigt also nicht, in welcher Zeitzone es sich gerade befindet und ob sommerzeit an ist... das würde die 2h erklären

aber dann, was für ne funktion hat date('Z')? *verwirrt-bin*


Zuletzt editiert von Dionysius am 11.07.2008 um 15:08 Uhr (4x Editiert)
Inaktiv
|
Fr33z3m4n ClanSphere Team


Medal of Honor




Herkunft: Hamm
Beiträge: 11094
# Antwort: 5 - 11.07.2008 um 15:37 Uhr
date('Z'); ist nur der sogenannte OFFSET Wert, also die Differenz zwischen der eigentlich Uhrzeit und der gewählten UTC (Sommerzeit an/aus) an.

2h = +/- 7200


------------------
mfg
Patrick "Fr33z3m4n" Jaskulski

Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer.

Zuletzt editiert von Fr33z3m4n ClanSphere Team am 11.07.2008 um 15:38 Uhr (2x Editiert)
Inaktiv
|
SCHIRI ClanSphere Team


Weltmeister



Herkunft: Hamburg
Beiträge: 5299
# Antwort: 6 - 11.07.2008 um 15:39 Uhr
hat sich erledigt...


------------------
www.laszlokorte.de

Zuletzt editiert von SCHIRI ClanSphere Team am 11.07.2008 um 15:40 Uhr (1x Editiert)
Inaktiv
|
Fr33z3m4n ClanSphere Team


Medal of Honor




Herkunft: Hamm
Beiträge: 11094
# Antwort: 7 - 11.07.2008 um 15:40 Uhr
//EDIT: ok Schiri ^^


------------------
mfg
Patrick "Fr33z3m4n" Jaskulski

Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer.

Zuletzt editiert von Fr33z3m4n ClanSphere Team am 11.07.2008 um 15:40 Uhr (1x Editiert)
Inaktiv
|
Dionysius
Thread-Ersteller


Wannabe poster




Beiträge: 21
# Antwort: 8 - 12.07.2008 um 20:15 Uhr
aber dann müsste die doch auf 7200 sein? :(

Eigendlich egal, die bessere Variante ist so oder so:
Timestamp von der Eingabe
- Userzeitzone (kann ja unterschiedlich sein)
- Clansphere-Sommerzeit (wenn sie die sommerzeit an hat)

dann müsste ich richtig liegen...

Danke eure Antworten


Inaktiv
|
Antworten: 8
Seite [1]


Sie müssen sich registrieren, um zu antworten.


ClanSphere Project - Mailus - Imprint - Disclaimer - Scriptinfo