mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-16 16:44:05 +00:00
6e01fc8dce
Added new _STRCMP and _STRICMP commands for quick string comparisons. Cleaned up QB64 to finish removing the QUI (quick user insert) code and folders. Altered UCASE and LCASE routines to be faster in some situations for us.
62 lines
No EOL
2.4 KiB
Text
62 lines
No EOL
2.4 KiB
Text
The '''TIME$''' Function returns a [[STRING]] representation of the current computer time in a 24 hour format.
|
|
|
|
|
|
{{PageSyntax}}
|
|
:: PRINT "Present time = "; TIME$
|
|
|
|
|
|
* Returns the present computer time in following 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.
|
|
{{CodeStart}} '' ''
|
|
{{Cl|SCREEN}} 12
|
|
{{Cl|DO}}
|
|
{{Cl|CLS}}
|
|
t$ = {{Cl|TIME$}}: h = {{Cl|VAL}}(t$): m = {{Cl|VAL}}({{Cl|MID$}}(t$, 4, 2)): s = {{Cl|VAL}}({{Cl|MID$}}(t$, 7, 2))
|
|
{{Cl|PRINT}} t$
|
|
{{Cl|CIRCLE}} {{Cl|STEP}}(0, 0), 200, 8
|
|
{{Cl|DRAW}} "c12ta" + {{Cl|STR$}}((h {{Cl|MOD}} 12) * -30) + "nu133"
|
|
{{Cl|DRAW}} "c14ta" + {{Cl|STR$}}(m * -6) + "nu200"
|
|
{{Cl|DRAW}} "c9ta" + {{Cl|STR$}}(s * -6) + "nu200"
|
|
{{Cl|_DISPLAY}}
|
|
{{Cl|_LIMIT}} 1
|
|
{{Cl|LOOP}} {{Cl|UNTIL}} {{Cl|INKEY$}} = {{Cl|CHR$}}(27) '' ''
|
|
{{CodeEnd}}
|
|
{{small|Code by Galleon}}
|
|
|
|
|
|
''Example 2:'' The following Function converts TIME$ to normal 12 hour AM-PM digital clock format.
|
|
{{CodeStart}} '' ''
|
|
PRINT TIME$
|
|
PRINT Clock$
|
|
|
|
{{Cl|FUNCTION}} Clock$
|
|
hour$ = {{Cl|LEFT$}}(TIME$, 2): H% = {{Cl|VAL}}(hour$)
|
|
min$ = {{Cl|MID$}}(TIME$, 3, 3)
|
|
IF H% >= 12 THEN ampm$ = " PM" ELSE ampm$ = " AM"
|
|
IF H% > 12 THEN
|
|
IF H% - 12 < 10 THEN hour$ = {{Cl|STR$}}(H% - 12) ELSE hour$ = {{Cl|LTRIM$}}({{Cl|STR$}}(H% - 12))
|
|
ELSEIF H% = 0 THEN hour$ = "12" ' midnight hour
|
|
ELSE : IF H% < 10 THEN hour$ = {{Cl|STR$}}(H%) ' eliminate leading zeros
|
|
END IF
|
|
Clock$ = hour$ + min$ + ampm$
|
|
END FUNCTION '' ''
|
|
{{CodeEnd}}
|
|
{{OutputStart}}
|
|
14:13:36
|
|
2:13 PM
|
|
{{OutputEnd}}
|
|
:''Explanation:'' When hours are less than 10 (but not 0), {{KW|STR$}}(H%) alone keeps a space ahead of the hour. For 2 digit hours, {{KW|LTRIM$}} is used to remove that leading space. For the hours of 10 AM to 12 PM, the hour {{KW|STRING}} value is passed from {{KW|LEFT$}}(TIME$, 2) at the beginning of the function.
|
|
|
|
|
|
''See also:''
|
|
* [[TIME$ (statement)]], [[DATE$]], [[DATE$ (statement)]]
|
|
* [[VAL]], [[STR$]], [[LTRIM$]], [[MID$]], [[LEFT$]], [[IF...THEN]]
|
|
|
|
|
|
{{PageNavigation}} |