TIME$

From QB64 Wiki
Jump to navigation Jump to search

The TIME$ Function returns a STRING representation of the current computer time in a 24 hour format.


Syntax

PRINT "Present time = "; TIME$


  • Returns the present computer time in hh:mm:ss 24 hour format: "19:20:33"
  • Uses 2 colon (:) separators between hours, minutes and seconds
  • Hour values range from "00" to "23" starting from midnite.
  • Minutes and seconds range from "00" to "59"
  • Continuous TIME$ calls may lag if a QBasic program is minimized to the taskbar!


Example 1: A simple clock using DRAW with Turn Angle.

SCREEN 12 DO CLS t$ = TIME$: h = VAL(t$): m = VAL(MID$(t$, 4, 2)): s = VAL(MID$(t$, 7, 2)) PRINT t$ CIRCLE STEP(0, 0), 200, 8 DRAW "c12ta" + STR$((h MOD 12) * -30) + "nu133" DRAW "c14ta" + STR$(m * -6) + "nu200" DRAW "c9ta" + STR$(s * -6) + "nu200" _DISPLAY _LIMIT 1 LOOP UNTIL INKEY$ = CHR$(27)

Code by Galleon
Explanation: Note that VAL(TIME$) can just return the hour number 0 to 23 as the read stops at the first colon.


Example 2: The following Function converts TIME$ to normal 12 hour AM-PM digital clock format.

PRINT TIME$ PRINT Clock$ FUNCTION Clock$ hour$ = LEFT$(TIME$, 2): H% = VAL(hour$) min$ = MID$(TIME$, 3, 3) IF H% >= 12 THEN ampm$ = " PM" ELSE ampm$ = " AM" IF H% > 12 THEN IF H% - 12 < 10 THEN hour$ = STR$(H% - 12) ELSE hour$ = LTRIM$(STR$(H% - 12)) ELSEIF H% = 0 THEN hour$ = "12" ' midnight hour ELSE : IF H% < 10 THEN hour$ = STR$(H%) ' eliminate leading zeros END IF Clock$ = hour$ + min$ + ampm$ END FUNCTION

14:13:36 2:13 PM

Explanation: When hours are less than 10 (but not 0), STR$(H%) alone keeps a space ahead of the hour. For 2 digit hours, LTRIM$ is used to remove that leading space. For the hours of 10 AM to 12 PM, the hour STRING value is passed from LEFT$(TIME$, 2) at the beginning of the function.


See also:



Navigation:
Go to Keyword Reference - Alphabetical
Go to Keyword Reference - By usage
Go to Main WIKI Page