Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Closed Thread
 
Thread Tools Display Modes
  #1  
Old 05-02-2004, 12:27 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Timezone off hours help requested

Can someone please help me use the following code to show the correct times for the off hours (i.e 3.5) and well as the whole hours? The whole hours work fine but the off hours show up as full hour times.

PHP Code:
$timezones[-12] = "Eniwetok, Kwajalein";
$timezones[-11] = "Midway Islands, American Samoa, Gilbert Islands";
$timezones[-10] = "[Hawaii] Honolulu, Chatham Island, Papeete, Tahiti, Cook Islands";
$timezones[-9] = "[Alaska] Anchorage, Juneau";
$timezones[-8] = "[Pacific Time (US & Canada)] Los Angeles, Seattle, San Fransisco, Vancouver";
$timezones[-7] = "[Mountain Time (US & Canada)] Denver, Phoenix, Edmonton, Aklavik";
$timezones[-6] = "[Central Time (US & Canada)] Chicago, New Orleans, Houston, Winnipeg, St. Paul, Mexico City";
$timezones[-5] = "[Eastern Time (US & Canada)] New York, Miami, Boston, Atlanta, Montreal, Toronto, Lima, Bogota ";
$timezones[-4] = "[Atlantic Time (Canada)] Halifax, Caracas, La Paz, San Juan";
$timezones[-3.5] = "Newfoundland";
$timezones[-3] = "Brazil, Buenos Aires, Georgetown, Santiago, Asuncion, St. John's, Montevideo";
$timezones[-2] = "[Mid-Atlantic] Sao Paulo, Rio de Janeiro, Sandwich Islands";
$timezones[-1] = "Azores, Cape Verde Islands";
$timezones[0] = "[Western Europe Time] London, Lisbon, Dublin, Reykjavik, Casablanca";
$timezones[1] = "[CET(Central Europe Time)] Brussels, Rome, Paris, Amsterdam, Oslo, Z?rich, Madrid, Berlin";
$timezones[2] = "[EET(Eastern Europe Time)] Helsinki, Athens, Johannesburg, South Africa, Minsk, Cairo, Jerusalem";
$timezones[3] = "Moscow, St. Petersburg, Nairobi, Riyadh, Baghdad, Khartoum, Kuwait City, Addis Ababa";
$timezones[3.5] = "Tehran";
$timezones[4] = "Dubai, Abu Dhabi, Tbilisi, Muscat, Baku";
$timezones[4.5] = "Kabul";
$timezones[5] = "Ekaterinburg, Islamabad, Karachi, Tashkent";
$timezones[5.5] = "Bombay, Calcutta, Madras, New Delhi";
$timezones[6] = "Almaty, Dhaka, Colombo";
$timezones[7] = "Bangkok, Djakarta, Hanoi, Saigon, Phnom Penh, Christmas Island, Jakarta";
$timezones[8] = "Perth, Singapore, Beijing, Manila, Hong Kong, Taipei, Kuala Lumpur";
$timezones[9] = "Tokyo, Seoul, Osaka, Saporro, Yakutsk";
$timezones[9.5] = "Adelaide, Darwin";
$timezones[10] = "[EAST(East Australian Standard)] Brisbane, Guam, Vladivostok, Papua New Guinea";
$timezones[11] = "Sydney, Melbourne, Canberra, Magadan, Solomon Islands, New Caledonia";
$timezones[12] = "Auckland, Wellington, Fiji, Kamchatka";

$i=0;

while(list(
$timediff$cities)=each($timezones)) {
    
$i++;

    
$servertime = ($timeoffset - ($timediff+8));

    
$timestamp mktime (date("H")-$servertimedate("i"), date("s"), date("m"), date("d"), date("Y"));
    
$datetime date($dateformat$timestamp);
        
$hourtime date($hourformat$timestamp);
        if (
$timediff == $bbuserinfo[timezoneoffset]) { 
  #2  
Old 05-02-2004, 04:57 PM
Xenon's Avatar
Xenon Xenon is offline
 
Join Date: Oct 2001
Location: Bavaria
Posts: 12,878
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

do not use numeric vals, use strings instead,

so not $timezones[-3.5] but $timezones['-3.5']
  #3  
Old 05-02-2004, 05:25 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I just did that and it didn't change anything. The times are all still on the hour and not any on the half-hour.

It must be something in this part of the code that is not allowing it to show the half hour times. Any idea what to do to fix it?

PHP Code:
$i=0

while(list(
$timediff$cities)=each($timezones)) { 
    
$i++; 

    
$servertime = ($timeoffset - ($timediff+8)); 

    
$timestamp mktime (date("H")-$servertimedate("i"), date("s"), date("m"), date("d"), date("Y")); 
    
$datetime date($dateformat$timestamp); 
        
$hourtime date($hourformat$timestamp); 
        if (
$timediff == $bbuserinfo[timezoneoffset]) { 
  #4  
Old 05-02-2004, 07:40 PM
Xenon's Avatar
Xenon Xenon is offline
 
Join Date: Oct 2001
Location: Bavaria
Posts: 12,878
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

afaik negative and broken ints could always lead to problems, so i suggest to use strings.
(afaik it's also the rules of the vb3 coding styles...)

as for the bug, you cannot use float values for mktime iirc, so you would have to use

PHP Code:
$timestamp mktime (date("H"), date("i") - ($servertime60), date("s"), date("m"), date("d"), date("Y")); 
instead of
PHP Code:
$timestamp mktime (date("H")-$servertimedate("i"), date("s"), date("m"), date("d"), date("Y")); 
  #5  
Old 05-02-2004, 10:13 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ah, ok. Now that makes sense. And it fixed the probelm, too. Thank you, sir.

One last question, is there a way to get the servertime without having to add the +8 in that line?
  #6  
Old 05-03-2004, 04:53 PM
Xenon's Avatar
Xenon Xenon is offline
 
Join Date: Oct 2001
Location: Bavaria
Posts: 12,878
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

$vboptions[timezone] or such is the variable you are searching for.

not sure what exactly, but something like that, you ahve to look up the global vb files to find out the exact spelling
  #7  
Old 05-03-2004, 05:00 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You are right. I found that about 10 minutes ago.

Would there be a way to set each timezone to allow DST on or off? I found out that Seoul doesn't have DST so the time is off by an hour. Can i do that per line somehow? Like this:

PHP Code:
DST ON
$timezones
[-12] = "Eniwetok, Kwajalein"
DST OFF
$timezones
[-11] = "Midway Islands, American Samoa, Gilbert Islands"
What code could I use there to accomplish that?
  #8  
Old 05-03-2004, 05:02 PM
Xenon's Avatar
Xenon Xenon is offline
 
Join Date: Oct 2001
Location: Bavaria
Posts: 12,878
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

aw, you're getting a bit too complicated now ^^
  #9  
Old 05-03-2004, 05:05 PM
Fluous Fluous is offline
 
Join Date: Apr 2004
Posts: 64
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes I am having trouble. Because it says I am on -5 GM and that is it 1:05 although its 2:05. Maybe it didnt see the time change? And is there anyway to make it so it works now?

And DST is on..so I don't know whats wrong.
  #10  
Old 05-03-2004, 11:49 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Xenon
aw, you're getting a bit too complicated now ^^
You know? You're right. Maybe it is a bit too complicated. But there are a lot of good hacks out there that are the same way and in order to do it right, sometimes it has to get a little bit complicated. What's the sense in even having a World Times hack if some of the times are off while others are not?

I'll get it figured out, somehow. Thanks for what you've done so far.
Closed Thread


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:01 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04302 seconds
  • Memory Usage 2,289KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (5)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete