Seite 2 von 3

Verfasst: 26.10.2003 17:26
von drouter
jo auch von mir danke!


hatte genau das gleiche Propblem...

gut aufheben :) den die sommezeit kommt wieder :)

Verfasst: 26.10.2003 18:18
von Gast
...warum ändert ihr nicht einfach in der functions.php

Code: Alles auswählen

//	return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz));
return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * ($tz+1))), $translate) : @gmdate($format, $gmepoch + (3600 * ($tz+date("I"))));
auf

Code: Alles auswählen

//	return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz));
return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * ($tz+0))), $translate) : @gmdate($format, $gmepoch + (3600 * ($tz+date("I"))));

---> $tz+1 auf $tz+0

Verfasst: 26.10.2003 19:30
von Klaus.
Okay, die Uhr tickt nun richtig.
Dankeschön.

Verfasst: 27.03.2005 20:32
von haig
Hallo,

habe auch das Problem, seit der heutigen Zeitumstellung. Oben angeführten Quelltext finde ich komischerweise nicht in meiner functions.php. Woran kann das liegen? Ich nutze das ganz normale SubSilver Style. Ach so, Version 2.0.13.

gruss
haig

Verfasst: 28.03.2005 08:52
von theklaus
In dem Beitrag steht ein schon geänderter Code. Richtig muss es heissen:
ersetze

Code: Alles auswählen

return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz));
durch

Code: Alles auswählen

return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * ($tz+1))), $translate) : @gmdate($format, $gmepoch + (3600 * ($tz+date("I"))));
Dabb funktionierts auch mit dem Nachbarn :-)

Gruß
Klaus

Verfasst: 28.03.2005 09:36
von Dresden
Das ist alles andere als eine gute Lösung, denn es stellt rückwirkend auch Beiragszeiten um, Rekorde etc.

Ich weiß aber auch nix Besseres, besser als nix allemal.

Verfasst: 28.03.2005 11:42
von haig
Hallo Klaus,

es hat geklappt. Vielen Dank. Habe es mit folgender Codeänderung gemacht:

Code: Alles auswählen

]############################################################## 
## MOD Title: Daytime changer summertime / wintertime 
## MOD Version: 1.0.0 
## MOD Author: WebmasterX, 
## info@zutfun.nl, 
## Sander Hoekman, 
## http://www.zutfun.nl 
## MOD Description: This modification automaticly changes the 
## winter time and summertime as known in Europe, The Netherlands 
## 
## Installation Level: easy 
## Installation Time: 1 Minutes 
## Files To Edit: includes/functions.php 
## Included Files: n/a 
############################################################## 

# 
#-----[ OPEN includes/functions.php ]------------------------------------------ 
# 

# 
#-----[ FIND ]------------------------------------------ 
# 

// 
// Create date/time from format and timezone 
// 
function create_date($format, $gmepoch, $tz) 

# 
#-----[ BEFORE, ADD ]------------------------------------------ 
# 

// 
// daytime changer summertime / wintertime 
// 

function daytime() 
{ 

$y = date("Y")-2000; 

if(date("n") >= 3) 
{ 
$season = 1; 
$season_period = 5; 
} 
else if (date("n") >= 10 || date("n") < 3 ) 
{ 
$season = 0; 
$season_period = 2; 
} 

$day = 31 - ((((floor(5*$y/4)-floor($y/100)+floor($y/400))+$season_period)%7)+7)%7; 

switch ($season) 
{ 
case 1: 

if( mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")) > mktime(3,0,0,3,$day,date("Y")) ) 
{ 
$result = 3600; 
} 

break; 

case 0: 

if( mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")) > mktime (3,0,0,10,$day,date("Y")) ) 
{ 
$result = 0; 
} 
break; 
} 

return $result; 
} 

# 
#-----[ FIND ]------------------------------------------ 
# 
return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz)); 

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 

return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz) + daytime()), $translate) : @gmdate($format, $gmepoch + (3600 * $tz) + daytime()); 

# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM
Gruss
haig

Verfasst: 30.03.2005 13:52
von Happy
haig hat geschrieben:Hallo Klaus,

es hat geklappt. Vielen Dank. Habe es mit folgender Codeänderung gemacht:

Code: Alles auswählen

]############################################################## 
## MOD Title: Daytime changer summertime / wintertime 
## MOD Version: 1.0.0 
.
.
.
[/quote]

Ich habe den MOD eben probiert, die Zeit wird zwar richtig angezeigt, aber alle Beiträge aus der Winterzeit werden ebenfalls mit "+1 Stunde" angezeigt.

Gibt es denn keinen MOD, mit dem die Wintzerzeit-Beiträge die Zeit behalten?

Verfasst: 21.04.2005 00:15
von DerStandart
Tag zusammen,

ich stehe hier vor dem selben Problem. Mit genanntem Mod haben die Beiträge zwar die aktuelle Uhrzeit, die bei Normalzeit verfassten Beiträge werden jedoch auch +1 angezeigt.

Gibt es da bereits eine Lösung?

Gruß,
DerStandart

EDIT:
Alles klar, FAQ lesen hat geholfen ;-) Fände es trotzdem schön, wenn man da irgendwie eine Lösung finden könnte.

Sommerzeit Problem

Verfasst: 03.05.2005 21:22
von mglur
DerStandart hat geschrieben:ich stehe hier vor dem selben Problem. Mit genanntem Mod haben die Beiträge zwar die aktuelle Uhrzeit, die bei Normalzeit verfassten Beiträge werden jedoch auch +1 angezeigt.

Gibt es da bereits eine Lösung?
Ich gebe der date()-Funktion das zu konvertierende Datum mit, somit wird immer nur dann die Sommerzeit berücksichtigt wenn auch der betreffende Zeitpunkt ($gmepoch) in die Sommerzeit fällt:

Code: Alles auswählen

  return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz)); // includes/functions.php ca line 380
ersetzt durch

Code: Alles auswählen

  return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * ($tz+date("I", $gmepoch)))), $translate) : @gmdate($format, $gmepoch + (3600 * ($tz+date("I", $gmepoch))));
und um ganz exakt zu sein :):

Code: Alles auswählen

  return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * ($tz+date("I", $gmepoch + 3600 * $tz)))), $translate) : @gmdate($format, $gmepoch + (3600 * ($tz+date("I", $gmepoch + 3600 * $tz))));
Gruss, mglur