EXCEL VBA Timevalue format (hh:mm am/pm)

calendar_today Asked May 22, 2013
thumb_up 14 upvotes
history Updated April 16, 2026

Question posted 2013 · +2 upvotes

How do I set the format for timevalue for 12-hour clock without second. For example: hh:mm AM/PM. Right now I’m using Format(TimeValue(Now), "hh:mm") but it wont display AM/PM.

Thanks in advance.

Accepted answer +14 upvotes

Change your format string to include the indicator for AM/PM (based on the VBA Format function documentation – see the heading User-Defined Date/Time Formats (Format Function) roughly halfway down the page – there’s no anchor to link to directly):

Format(TimeValue(Now), 'hh:mm AM/PM')

Valid choices for different displays of AM/PM values are:

AM/PM

Use the 12-hour clock and display an uppercase AM with any hour before noon; display an uppercase PM with any hour between noon and 11:59 P.M.

am/pm

Use the 12-hour clock and display a lowercase AM with any hour before noon; display a lowercase PM with any hour between noon and 11:59 P.M.

A/P

Use the 12-hour clock and display an uppercase A with any hour before noon; display an uppercase P with any hour between noon and 11:59 P.M.

a/p

Use the 12-hour clock and display a lowercase A with any hour before noon; display a lowercase P with any hour between noon and 11:59 P.M.

AMPM Use the 12-hour clock and display the AM string literal as defined by your system with any hour before noon; display the PM string literal as defined by your system with any hour between noon and 11:59 P.M. AMPM can be either uppercase or lowercase, but the case of the string displayed matches the string as defined by your system settings. The default format is AM/PM.

Top vba Q&A (6)

+14 upvotes ranks this answer #28 out of 81 vba solutions on this site .
vba