Is there a way to format the vbLongTime without displaying the seconds?

The code below returns the time from SQL Server database.

<%=FormatDateTime(rs("TimeCompleted"),vbLongTime)%>

I get: 12:47:00 PM

I would like: 12:47 PM

Thanks for your help.
romsomAsked:
Who is Participating?
 
clockwatcherConnect With a Mentor Commented:
I don't think you'd want to do a replace that way as 7:00:00 PM might look a bit odd.  It's no problem to trim it out though:
<script language="vbscript" runat="server">

function MyTimeFormat(v)
 
   dim c
    v = FormatDateTime(v, vbLongTime)
    c = instrrev(formatdatetime(v,vbLongTime), ":")
    if c > 0 then
        MyTimeFormat = left(v,c-1) & mid(v,c + 3)

    else
        MyTimeFormat = v
    end if
end function
</script>

<%= MyTimeFormat(rs("TimeCompleted")) %>

Open in new window


Or use a regexp:
function MyTimeFormat(v)
    dim re
    v = FormatDateTime(v, vbLongTime)
    set re = new RegExp
    re.pattern = "(\d+:\d+):\d+"
    MyTimeFormat1 = re.replace(v, "$1")
end function

Open in new window

0
 
wrmichaelCommented:
Maybe

rs("TimeCompleted").toString("hh:mm")
0
 
wrmichaelCommented:
Here is the msdn article on custom formats

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
romsomAuthor Commented:
I've tried it and this is the error I get:
Object doesn't support this property or method: 'toString'
Maybe because my page is written in Classic ASP
0
 
Om PrakashConnect With a Mentor Commented:
you can use vbShortTime but it will give time in 24 hour format

one crude way is to trim :00 if seconds is always 00 in your database
replace(FormatDateTime(rs("TimeCompleted"),vbLongTime),":00","")
0
 
clockwatcherCommented:
I suppose if you included the trailing space in the replace, you'd be fine:

replace(FormatDateTime(rs("TimeCompleted"),vbLongTime),":00 "," ")

But it would only work if you always had 00 seconds in your field as om_prakash_p mentioned.
0
 
wrmichaelCommented:
In classic asp then I think just format(string,"HH:MM") works well.
0
 
romsomAuthor Commented:
Both methods work for me, thank you very much for your help.
The seconds are always 00, so I don't need to display them
0
 
wrmichaelCommented:
See this for vb6 style format that should work with classic asp

http://www.vb6.us/tutorials/formating-dates-and-times-vb6
0
 
wrmichaelCommented:
0
All Courses

From novice to tech pro — start learning today.