# Thread: More efficient way to do this?

1. Registered User
Join Date
Sep 2008
Posts
104

## More efficient way to do this?

This code works perfectly, but tere has to be a more efficient way to do this. The comments should make sense of it so you know what I'm doing. I had to comment that crap out of it to keep everything in mind when writing it.

Code:
```// ex. aa = '9/2/2009 8:31:12 PM'
if (aa.indexOf("pm")!=-1)
{
timestamp = aa.split(" ")

// sets time = 8:31:12
time = timestamp[1]

hr = time.split(":")

//sets militaryTime = 8
militaryTime= hr[0]

//converts to militaryTime. 8 becomes 20
militaryTime= parseInt(militaryTime) + 12;

//puts timestamp back together using military instead of conventional
sortableStamp= timestamp[0] + " " + militaryTime + ":" + hr[1] + ":" + hr[2]

// aa = 9/2/2009 20:31:12
aa = sortableStamp
}
// ex. aa = '9/2/2009 8:31:12 AM'
if (aa.indexOf("am")!=-1)
{
timestamp = aa.split(" ");

// sets time = 8:31:12
time = timestamp[1];

hr = time.split(":");

//sets militaryTime = 8
militaryTime= hr[0];

// if single digit hour, pad w/ a 0 or sort won't work
if (militaryTime.length == 1)
{
sortableStamp=timestamp[0] + " 0" + militaryTime + ":" + hr[1] + ":" + hr[2];
}
else
{
sortableStamp=timestamp[0] + " " + militaryTime + ":" + hr[1] + ":" + hr[2];
}
//sets aa = '9/2/2009 08:31:12'
aa = sortableStamp;
}```

2. Registered User
Join Date
Dec 2002
Location
Pleasanton, CA
Posts
2,132
When you find yourself repeating the same code, if(..pm){} and if(..am){}, look for a possibility to combine (or create a subroutine)
Just for fun....
Code:
```var aa = '9/2/2009 8:31:12 AM';

var timestamp = aa.split(' ');
var hms = timestamp[1].split(':');
if (/PM/.test(timestamp[2])) { hms[0] = Number(hms[0]) + 12; }
if (hms[0]<10) { hms[0] = '0'+hms[0]; }
aa = timestamp[0]+' '+hms.join(':');

alert(aa);```
PS: You should probably think about padding all single digits in both date and time.
A opportunity for a sub...
Last edited by Nedals; 09-04-2009 at 07:34 PM. Reason: Add comment

#### Thread Information

##### Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•

"

"

## X vBulletin 4.2.2 Debug Information

• Page Generation 0.11405 seconds
• Memory Usage 2,839KB
• Queries Executed 15 (?)
More Information
Template Usage (33):
• (1)SHOWTHREAD
• (1)ad_footer_end
• (1)ad_footer_start
• (1)ad_global_above_footer
• (1)ad_global_below_navbar
• (1)ad_global_header1
• (1)ad_global_header2
• (1)ad_navbar_below
• (1)ad_showthread_firstpost_sig
• (1)ad_showthread_firstpost_start
• (1)ad_thread_first_post_content
• (1)ad_thread_last_post_content
• (2)bbcode_code
• (1)footer
• (1)forumjump
• (1)forumrules
• (1)gobutton
• (1)header
• (1)headinclude
• (1)headinclude_bottom
• (2)memberaction_dropdown
• (1)navbar
• (4)navbar_link
• (1)navbar_moderation
• (1)navbar_noticebit
• (1)navbar_tabs
• (2)option
• (2)postbit
• (2)postbit_onlinestatus
• (2)postbit_wrapper
• (1)spacer_close
• (1)spacer_open
• (1)tagbit_wrapper

Phrase Groups Available (6):
• global
• inlinemod
• postbit
• posting
• reputationlevel
• showthread
Included Files (26):
• ./showthread.php
• ./global.php
• ./includes/class_bootstrap.php
• ./includes/init.php
• ./includes/class_core.php
• ./includes/config.php
• ./includes/functions.php
• ./includes/functions_navigation.php
• ./includes/class_friendly_url.php
• ./includes/class_hook.php
• ./includes/class_bootstrap_framework.php
• ./vb/vb.php
• ./vb/phrase.php
• ./includes/functions_facebook.php
• ./includes/functions_calendar.php
• ./includes/functions_bigthree.php
• ./includes/class_postbit.php
• ./includes/class_bbcode.php
• ./includes/functions_reputation.php
• ./includes/functions_notice.php
• ./packages/vbattach/attach.php
• ./vb/types.php
• ./vb/cache.php
• ./vb/cache/db.php
• ./vb/cache/observer/db.php
• ./vb/cache/observer.php

Hooks Called (70):
• init_startup
• friendlyurl_resolve_class
• init_startup_session_setup_start
• database_pre_fetch_array
• database_post_fetch_array
• init_startup_session_setup_complete
• global_bootstrap_init_start
• global_bootstrap_init_complete
• cache_permissions
• fetch_threadinfo_query
• fetch_threadinfo
• fetch_foruminfo
• load_show_variables
• load_forum_show_variables
• global_state_check
• global_bootstrap_complete
• global_start
• style_fetch
• global_setup_complete
• showthread_start
• showthread_getinfo
• strip_bbcode
• friendlyurl_clean_fragment
• friendlyurl_geturl
• forumjump
• cache_templates
• cache_templates_process
• template_register_var
• template_render_output
• fetch_template_start
• fetch_template_complete
• parse_templates
• fetch_musername
• notices_check_start
• notices_noticebit
• process_templates_complete
• friendlyurl_redirect_canonical
• showthread_post_start
• showthread_query_postids
• showthread_query
• bbcode_fetch_tags
• bbcode_create
• showthread_postbit_create
• postbit_factory
• postbit_display_start
• postbit_imicons
• bbcode_parse_start
• bbcode_parse_complete_precache
• bbcode_parse_complete
• postbit_display_complete
• memberaction_dropdown
• tag_fetchbit_complete
• forumrules
• navbits
• navbits_complete
• build_navigation_data
• build_navigation_array
• check_navigation_permission
• process_navigation_links_start
• process_navigation_links_complete
• set_navigation_menu_element
• build_navigation_menudata
• build_navigation_listdata
• build_navigation_list
• set_navigation_tab_main
• set_navigation_tab_fallback
• navigation_tab_complete
• fb_like_button
• showthread_complete
• page_templates