timezones

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gebruikersavatar
versatile
Berichten: 134
Lid geworden op: 24 jun 2006, 14:05
Locatie: Barneveld
Contacteer:

Bericht door versatile » 14 sep 2006, 20:33

dit is het resultaat:
Thu, 14 Sep 2006 21:32:37 +0200
ziet er gewoon goed uit, maar op het forum doet ie de tijden niet goed
hier is de link naar de date file:
http://2pacparadise.com/site/timezone.php

misschien is dit ook wel handig om te weten:
Ik heb verandert dat er 24 uur tijd is in mn profiel (dus niet voor iedereen)
maar nou doet ie in het ene board wel 24 uur tijd maar in de andere wel PM/AM tijd, en dan maakt het niet uit of het nieuwe posts zijn of oude
Afbeelding

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 14 sep 2006, 21:53

Ene board en het andere board? Heb je meerdere fora op je server? Of bedoel je in de verschillende forums (waar topics in staan)?
Afbeelding

Gebruikersavatar
versatile
Berichten: 134
Lid geworden op: 24 jun 2006, 14:05
Locatie: Barneveld
Contacteer:

Bericht door versatile » 14 sep 2006, 21:59

ja ik bedoel meerdere forums.
in het engels noemen ze het ook wel boards. word altijd door elkaar gehaald :)
Afbeelding

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 15 sep 2006, 15:45

Als op de index bij verschillende forums de tijd in een ander formaat staat, dat lijkt me eigenlijk niet kunnen. Misschien ligt het aan de today/yeserday mod?
Post eens de functie create_date uit includes/functions.php, ik denk dat het daar aan ligt.
Afbeelding

Gebruikersavatar
versatile
Berichten: 134
Lid geworden op: 24 jun 2006, 14:05
Locatie: Barneveld
Contacteer:

Bericht door versatile » 15 sep 2006, 17:51

ik heb de friendly date mod dr ook bij gezet (today/yesterday mod)

Code: Selecteer alles

//
// Create date/time from format and timezone
//
function create_date($format, $gmepoch, $tz)
{
	global $board_config, $lang;
	static $translate;

	if ( empty($translate) && $board_config['default_lang'] != 'english' )
	{
		@reset($lang['datetime']);
		while ( list($match, $replace) = @each($lang['datetime']) )
		{
			$translate[$match] = $replace;
		}
	}

// friendly date mod\\*******************

	$thetime = ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz));
	
	$L_Today = '<b>Today</b>';
	$L_Yesterday = 'Yesterday';
	$time_format = " - h:i a";// - hour:minute am/pm
	
	$date = getdate();
	$today = $date['mday'];
	$month = $date['mon'];
	$year = $date['year'];

	$forum_date_today = @gmdate ("d", $gmepoch);
	$forum_date_month = @gmdate ("m", $gmepoch);
	$forum_date_year = @gmdate ("Y", $gmepoch);
	
	if ($forum_date_today == $today && $forum_date_month == $month && $forum_date_year == $year)
		$thetime = $L_Today . @gmdate ($time_format, $gmepoch);//today
	
	else
	if ($today != 1 && $forum_date_today == ($today-1) && $forum_date_month == $month && $forum_date_year == $year)
		$thetime = $L_Yesterday . @gmdate ($time_format, $gmepoch);//yesterday
		
	else
	//if today is 1 and the month is not 1, then we have to check how many days in the previews month
	//and then set $yesterday to the last day in the previews month
	if ($today == 1 && $month != 1)
	{
	$yesterday = date ("t", mktime(0,0,0,($month-1),1,$year));//returns how many days in the previews month
	if ($forum_date_today == $yesterday && $forum_date_month == ($month-1) && $forum_date_year == $year)
		$thetime = $L_Yesterday . @gmdate ($time_format, $gmepoch);//yesterday
	}
	else 
	//if we are in the first day in the year
	if ($today == 1 && $month == 1)
	{
	$yesterday = date ("t", mktime(0,0,0,12,1,($year -1)));
	if ($forum_date_today == $yesterday && $forum_date_month == 12 && $forum_date_year == ($year-1))
		$thetime = $L_Yesterday . @gmdate ($time_format, $gmepoch);//yesterday
	}

   	return ($thetime);
//end friendly date \\*******************************

}
Afbeelding

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 15 sep 2006, 21:39

Probeer het eens zo:

Code: Selecteer alles

//
// Create date/time from format and timezone
//
function create_date($format, $gmepoch, $tz)
{
	global $board_config, $lang;
	static $translate;

	if ( empty($translate) && $board_config['default_lang'] != 'english' )
	{
		@reset($lang['datetime']);
		while ( list($match, $replace) = @each($lang['datetime']) )
		{
			$translate[$match] = $replace;
		}
	}

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

	$L_Today = '<b>Today</b>';
	$L_Yesterday = 'Yesterday';
	// 24 hours system or 12 pm/am system?
	$system = ( stristr($format, "H") === FALSE || stristr($format, "G") === FALSE ) ? "h" : "H";
	$time_format = " - " . $system . ":i" . ( $system == "h" ) ? " a" : "";
   
	$date = getdate();
	$today = $date['mday'];
	$month = $date['mon'];
	$year = $date['year'];

	$forum_date_today = @gmdate ("d", $gmepoch);
	$forum_date_month = @gmdate ("m", $gmepoch);
	$forum_date_year = @gmdate ("Y", $gmepoch);
   
	if ($forum_date_today == $today && $forum_date_month == $month && $forum_date_year == $year)
	{
		$thetime = $L_Today . @gmdate ($time_format, $gmepoch + (3600 * $tz));//today
	}
	else if ($today != 1 && $forum_date_today == ($today-1) && $forum_date_month == $month && $forum_date_year == $year)
	{
		$thetime = $L_Yesterday . @gmdate ($time_format, $gmepoch + (3600 * $tz));//yesterday
	}
	else
	{
		//if today is 1 and the month is not 1, then we have to check how many days in the previews month
		//and then set $yesterday to the last day in the previews month
		if ($today == 1 && $month != 1)
		{
			$yesterday = date ("t", mktime(0,0,0,($month-1),1,$year));//returns how many days in the previews month
			if ($forum_date_today == $yesterday && $forum_date_month == ($month-1) && $forum_date_year == $year)
			{
				$thetime = $L_Yesterday . @gmdate ($time_format, $gmepoch + (3600 * $tz));//yesterday
			}
		}
		else
		{
			//if we are in the first day in the year
			if ($today == 1 && $month == 1)
			{
				$yesterday = date ("t", mktime(0,0,0,12,1,($year -1)));
				if ($forum_date_today == $yesterday && $forum_date_month == 12 && $forum_date_year == ($year-1))
				{
					$thetime = $L_Yesterday . @gmdate ($time_format, $gmepoch + (3600 * $tz));//yesterday
				}
			}
		}
	}
	return ($thetime);
}
Hopelijk werkt wat ik wil, namelijk dat als men H en G (24uurs systeem) heeft ingesteld, dat je dan ook bij de today/yesterday MOD een 24 uurs systeem krijgt.
Afbeelding

Gebruikersavatar
versatile
Berichten: 134
Lid geworden op: 24 jun 2006, 14:05
Locatie: Barneveld
Contacteer:

Bericht door versatile » 16 sep 2006, 11:54

die code werkt niet die haalde de tijd weg in bepaalde boards
ik heb de today yesterday mod weggehaald, want dat was het probleem, je had dus gelijk
ik denk dat die niet genoeg geupdate is :(

bedankt voor de hulp :bier:
Afbeelding

Gesloten