vb6parse 1.0.0

vb6parse is a library for parsing and analyzing VB6 code, from projects, to controls, to modules, and forms.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="VB6Parse Library Reference - time - Datetime">
    <title>time - Datetime - VB6Parse Library Reference</title>
    <link rel="stylesheet" href="../../../assets/css/style.css">
    <link rel="stylesheet" href="../../../assets/css/docs-style.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github-dark.min.css">
    <script src="../../../assets/js/theme-switcher.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/vbnet.min.js"></script>
    <script>hljs.highlightAll();</script>
</head>
<body>
    <header class="docs-header">
        <div class="container">
            <h1><a href="../../../index.html">VB6Parse</a> / <a href="../../../library/index.html">Library</a> / <a href="../../../library/functions/datetime/index.html">Datetime</a> / time</h1>
            <p class="tagline">VB6 Library Reference</p>
        </div>
    </header>

    <nav class="docs-nav">
        <div class="container">
            <a href="../../../index.html">Home</a>
            <a href="../../../library/index.html">Library Reference</a>
            <a href="../../../documentation.html">Documentation</a>
            <a href="https://docs.rs/vb6parse" target="_blank">API Docs</a>
            <a href="https://github.com/scriptandcompile/vb6parse" target="_blank">GitHub</a>
            <button id="theme-toggle" class="theme-toggle" aria-label="Toggle theme">
                <span class="theme-icon">🌙</span>
            </button>
        </div>
    </nav>

    <main class="container">
        
        <article class="library-item">
            <p>VB6 Time Function
The <code>Time</code> function returns a Variant (Date) indicating the current system time.</p>
<h2 id="syntax">Syntax</h2>
<pre><code class="language-vbnet">Time()</code></pre>
<p>or</p>
<pre><code class="language-vbnet">Time</code></pre>
<h2 id="parameters">Parameters</h2>
<p>None. The <code>Time</code> function takes no arguments.</p>
<h2 id="returns">Returns</h2>
<p>Returns a <code>Variant</code> of subtype <code>Date</code> containing the current system time. The date portion is set to zero (December 30, 1899).</p>
<h2 id="remarks">Remarks</h2>
<p>The <code>Time</code> function retrieves the current system time:
- <strong>No arguments</strong>: Called without parentheses or with empty parentheses
- <strong>Date portion</strong>: Always returns date as zero (12/30/1899)
- <strong>Time precision</strong>: Returns time to the nearest second (no milliseconds)
- <strong>System dependent</strong>: Returns time from system clock
- <strong>Time vs Time$</strong>: <code>Time</code> returns Variant (Date), <code>Time$</code> returns String in format "HH:MM:SS"
- <strong>Now function</strong>: Use <code>Now()</code> to get current date and time together
- <strong>Date function</strong>: Use <code>Date()</code> to get current date only
- <strong>Timer function</strong>: Use <code>Timer</code> for elapsed time measurements (returns seconds since midnight)
- <strong>Setting time</strong>: Use <code>Time</code> statement (not function) to set system time
- <strong>24-hour format</strong>: Internal representation is 24-hour, but display depends on system settings</p>
<h3 id="time-vs-related-functions">Time vs Related Functions</h3>
<ul>
<li><code>Time</code> - Returns current time only (date portion is zero)</li>
<li><code>Date</code> - Returns current date only (time portion is midnight)</li>
<li><code>Now</code> - Returns current date and time together</li>
<li><code>Timer</code> - Returns seconds elapsed since midnight as Single</li>
<li><code>Time$</code> - Returns current time as formatted String</li>
</ul>
<h3 id="time-components">Time Components</h3>
<p>Extract time components using:</p>
<pre><code class="language-vbnet">currentHour = Hour(Time)      &#x27; 0-23
currentMinute = Minute(Time)  &#x27; 0-59
currentSecond = Second(Time)  &#x27; 0-59</code></pre>
<h3 id="time-arithmetic">Time Arithmetic</h3>
<pre><code class="language-vbnet">&#x27; Add 1 hour to current time
newTime = Time + TimeSerial(1, 0, 0)
&#x27; Add 30 minutes to current time
newTime = DateAdd(&quot;n&quot;, 30, Time)</code></pre>
<h2 id="typical-uses">Typical Uses</h2>
<ol>
<li><strong>Timestamp Logging</strong>: Record when events occur</li>
<li><strong>Time-based Triggers</strong>: Check current time for scheduled operations</li>
<li><strong>Time Display</strong>: Show current time in user interface</li>
<li><strong>Performance Timing</strong>: Measure operation duration (though Timer is better)</li>
<li><strong>Time Validation</strong>: Check if operation is within allowed time window</li>
<li><strong>Time Calculations</strong>: Calculate time differences or future times</li>
<li><strong>Scheduling</strong>: Determine if tasks should run now</li>
<li><strong>Time Formatting</strong>: Create custom time displays</li>
</ol>
<h2 id="basic-examples">Basic Examples</h2>
<h3 id="example-1-display-current-time">Example 1: Display Current Time</h3>
<pre><code class="language-vbnet">Sub ShowCurrentTime()
    MsgBox &quot;Current time is: &quot; &amp; Time
End Sub</code></pre>
<h3 id="example-2-log-event-time">Example 2: Log Event Time</h3>
<pre><code class="language-vbnet">Sub LogEvent(eventName As String)
    Dim logEntry As String
    logEntry = Time &amp; &quot; - &quot; &amp; eventName
    Debug.Print logEntry
End Sub</code></pre>
<h3 id="example-3-check-business-hours">Example 3: Check Business Hours</h3>
<pre><code class="language-vbnet">Function IsBusinessHours() As Boolean
    Dim currentHour As Integer
    currentHour = Hour(Time)
    IsBusinessHours = (currentHour &gt;= 9 And currentHour &lt; 17)
End Function</code></pre>
<h3 id="example-4-format-time-display">Example 4: Format Time Display</h3>
<pre><code class="language-vbnet">Function GetFormattedTime() As String
    GetFormattedTime = Format$(Time, &quot;hh:mm:ss AM/PM&quot;)
End Function</code></pre>
<h2 id="common-patterns">Common Patterns</h2>
<h3 id="pattern-1-get-current-hour">Pattern 1: Get Current Hour</h3>
<pre><code class="language-vbnet">Function GetCurrentHour() As Integer
    GetCurrentHour = Hour(Time)
End Function</code></pre>
<h3 id="pattern-2-time-based-greeting">Pattern 2: Time-based Greeting</h3>
<pre><code class="language-vbnet">Function GetGreeting() As String
    Dim currentHour As Integer
    currentHour = Hour(Time)
    Select Case currentHour
        Case 0 To 11
            GetGreeting = &quot;Good morning&quot;
        Case 12 To 17
            GetGreeting = &quot;Good afternoon&quot;
        Case Else
            GetGreeting = &quot;Good evening&quot;
    End Select
End Function</code></pre>
<h3 id="pattern-3-create-timestamp">Pattern 3: Create Timestamp</h3>
<pre><code class="language-vbnet">Function CreateTimestamp() As String
    CreateTimestamp = Format$(Date, &quot;yyyy-mm-dd&quot;) &amp; &quot; &quot; &amp; Format$(Time, &quot;hh:nn:ss&quot;)
End Function</code></pre>
<h3 id="pattern-4-check-time-window">Pattern 4: Check Time Window</h3>
<pre><code class="language-vbnet">Function IsWithinTimeWindow(startTime As Date, endTime As Date) As Boolean
    Dim currentTime As Date
    currentTime = Time
    IsWithinTimeWindow = (currentTime &gt;= startTime And currentTime &lt;= endTime)
End Function</code></pre>
<h3 id="pattern-5-add-time-duration">Pattern 5: Add Time Duration</h3>
<pre><code class="language-vbnet">Function AddMinutes(minutes As Integer) As Date
    AddMinutes = DateAdd(&quot;n&quot;, minutes, Time)
End Function</code></pre>
<h3 id="pattern-6-time-until-target">Pattern 6: Time Until Target</h3>
<pre><code class="language-vbnet">Function MinutesUntil(targetTime As Date) As Long
    MinutesUntil = DateDiff(&quot;n&quot;, Time, targetTime)
End Function</code></pre>
<h3 id="pattern-7-round-time-to-nearest-interval">Pattern 7: Round Time to Nearest Interval</h3>
<pre><code class="language-vbnet">Function RoundToNearest15Minutes() As Date
    Dim currentTime As Date
    Dim minutes As Integer
    currentTime = Time
    minutes = Minute(currentTime)
    minutes = ((minutes + 7) \ 15) * 15
    RoundToNearest15Minutes = TimeSerial(Hour(currentTime), minutes, 0)
End Function</code></pre>
<h3 id="pattern-8-compare-times">Pattern 8: Compare Times</h3>
<pre><code class="language-vbnet">Function IsTimeBefore(compareTime As Date) As Boolean
    IsTimeBefore = (Time &lt; compareTime)
End Function</code></pre>
<h3 id="pattern-9-get-time-string">Pattern 9: Get Time String</h3>
<pre><code class="language-vbnet">Function GetTimeString() As String
    GetTimeString = Format$(Time, &quot;hh:mm:ss&quot;)
End Function</code></pre>
<h3 id="pattern-10-calculate-elapsed-time">Pattern 10: Calculate Elapsed Time</h3>
<pre><code class="language-vbnet">Function GetElapsedMinutes(startTime As Date) As Long
    GetElapsedMinutes = DateDiff(&quot;n&quot;, startTime, Time)
End Function</code></pre>
<h2 id="advanced-usage">Advanced Usage</h2>
<h3 id="example-1-time-tracker-class">Example 1: Time Tracker Class</h3>
<pre><code class="language-vbnet">&#x27; Class: TimeTracker
&#x27; Tracks operation start/end times and durations
Option Explicit
Private m_StartTime As Date
Private m_EndTime As Date
Private m_IsRunning As Boolean
Public Sub StartTracking()
    m_StartTime = Time
    m_IsRunning = True
End Sub
Public Sub StopTracking()
    If Not m_IsRunning Then
        Err.Raise 5, , &quot;Tracking not started&quot;
    End If
    m_EndTime = Time
    m_IsRunning = False
End Sub
Public Function GetElapsedMinutes() As Long
    If m_IsRunning Then
        GetElapsedMinutes = DateDiff(&quot;n&quot;, m_StartTime, Time)
    Else
        GetElapsedMinutes = DateDiff(&quot;n&quot;, m_StartTime, m_EndTime)
    End If
End Function
Public Function GetElapsedSeconds() As Long
    If m_IsRunning Then
        GetElapsedSeconds = DateDiff(&quot;s&quot;, m_StartTime, Time)
    Else
        GetElapsedSeconds = DateDiff(&quot;s&quot;, m_StartTime, m_EndTime)
    End If
End Function
Public Function GetFormattedDuration() As String
    Dim totalSeconds As Long
    Dim hours As Long
    Dim minutes As Long
    Dim seconds As Long
    totalSeconds = GetElapsedSeconds()
    hours = totalSeconds \ 3600
    minutes = (totalSeconds Mod 3600) \ 60
    seconds = totalSeconds Mod 60
    GetFormattedDuration = Format$(hours, &quot;00&quot;) &amp; &quot;:&quot; &amp; _
                          Format$(minutes, &quot;00&quot;) &amp; &quot;:&quot; &amp; _
                          Format$(seconds, &quot;00&quot;)
End Function
Public Property Get IsRunning() As Boolean
    IsRunning = m_IsRunning
End Property</code></pre>
<h3 id="example-2-schedule-manager-module">Example 2: Schedule Manager Module</h3>
<pre><code class="language-vbnet">&#x27; Module: ScheduleManager
&#x27; Manages time-based scheduling and windows
Option Explicit
Public Function IsWithinSchedule(scheduleStart As Date, scheduleEnd As Date) As Boolean
    Dim currentTime As Date
    currentTime = Time
    &#x27; Handle overnight schedules (e.g., 10 PM to 6 AM)
    If scheduleStart &gt; scheduleEnd Then
        IsWithinSchedule = (currentTime &gt;= scheduleStart Or currentTime &lt;= scheduleEnd)
    Else
        IsWithinSchedule = (currentTime &gt;= scheduleStart And currentTime &lt;= scheduleEnd)
    End If
End Function
Public Function GetNextScheduledTime(targetTime As Date) As Date
    Dim currentTime As Date
    currentTime = Time
    If currentTime &lt; targetTime Then
        &#x27; Target time is later today
        GetNextScheduledTime = Date + targetTime
    Else
        &#x27; Target time is tomorrow
        GetNextScheduledTime = Date + 1 + targetTime
    End If
End Function
Public Function MinutesUntilSchedule(scheduleTime As Date) As Long
    Dim currentTime As Date
    Dim targetDateTime As Date
    currentTime = Time
    If currentTime &lt; scheduleTime Then
        &#x27; Later today
        targetDateTime = Date + scheduleTime
    Else
        &#x27; Tomorrow
        targetDateTime = Date + 1 + scheduleTime
    End If
    MinutesUntilSchedule = DateDiff(&quot;n&quot;, Now, targetDateTime)
End Function
Public Function FormatTimeRemaining(targetTime As Date) As String
    Dim minutesLeft As Long
    Dim hours As Long
    Dim minutes As Long
    minutesLeft = MinutesUntilSchedule(targetTime)
    If minutesLeft &lt; 0 Then
        FormatTimeRemaining = &quot;Overdue&quot;
        Exit Function
    End If
    hours = minutesLeft \ 60
    minutes = minutesLeft Mod 60
    If hours &gt; 0 Then
        FormatTimeRemaining = hours &amp; &quot;h &quot; &amp; minutes &amp; &quot;m remaining&quot;
    Else
        FormatTimeRemaining = minutes &amp; &quot;m remaining&quot;
    End If
End Function</code></pre>
<h3 id="example-3-time-logger-class">Example 3: Time Logger Class</h3>
<pre><code class="language-vbnet">&#x27; Class: TimeLogger
&#x27; Logs timestamped events
Option Explicit
Private m_LogEntries As Collection
Private Sub Class_Initialize()
    Set m_LogEntries = New Collection
End Sub
Public Sub LogEvent(eventDescription As String)
    Dim logEntry As String
    logEntry = Format$(Time, &quot;hh:mm:ss&quot;) &amp; &quot; - &quot; &amp; eventDescription
    m_LogEntries.Add logEntry
End Sub
Public Sub LogEventWithDetails(eventName As String, details As String)
    Dim logEntry As String
    logEntry = Format$(Time, &quot;hh:mm:ss&quot;) &amp; &quot; - &quot; &amp; eventName &amp; &quot;: &quot; &amp; details
    m_LogEntries.Add logEntry
End Sub
Public Function GetLogEntries() As String
    Dim result As String
    Dim entry As Variant
    result = &quot;Event Log:&quot; &amp; vbCrLf
    result = result &amp; String$(50, &quot;=&quot;) &amp; vbCrLf
    For Each entry In m_LogEntries
        result = result &amp; entry &amp; vbCrLf
    Next entry
    GetLogEntries = result
End Function
Public Sub ClearLog()
    Set m_LogEntries = New Collection
End Sub
Public Property Get EntryCount() As Long
    EntryCount = m_LogEntries.Count
End Property
Public Function ExportToFile(filename As String) As Boolean
    On Error GoTo ErrorHandler
    Dim fileNum As Integer
    Dim entry As Variant
    fileNum = FreeFile
    Open filename For Output As #fileNum
    Print #fileNum, &quot;Event Log - &quot; &amp; Format$(Date, &quot;yyyy-mm-dd&quot;)
    Print #fileNum, String$(50, &quot;=&quot;)
    For Each entry In m_LogEntries
        Print #fileNum, entry
    Next entry
    Close #fileNum
    ExportToFile = True
    Exit Function
ErrorHandler:
    ExportToFile = False
    If fileNum &gt; 0 Then Close #fileNum
End Function</code></pre>
<h3 id="example-4-business-hours-validator-module">Example 4: Business Hours Validator Module</h3>
<pre><code class="language-vbnet">&#x27; Module: BusinessHoursValidator
&#x27; Validates and manages business hours
Option Explicit
Private m_BusinessStart As Date
Private m_BusinessEnd As Date
Private m_LunchStart As Date
Private m_LunchEnd As Date
Public Sub Initialize(businessStart As Date, businessEnd As Date, _
                     Optional lunchStart As Variant, Optional lunchEnd As Variant)
    m_BusinessStart = businessStart
    m_BusinessEnd = businessEnd
    If Not IsMissing(lunchStart) Then m_LunchStart = lunchStart
    If Not IsMissing(lunchEnd) Then m_LunchEnd = lunchEnd
End Sub
Public Function IsBusinessHours() As Boolean
    Dim currentTime As Date
    currentTime = Time
    &#x27; Check if within business hours
    If currentTime &lt; m_BusinessStart Or currentTime &gt;= m_BusinessEnd Then
        IsBusinessHours = False
        Exit Function
    End If
    &#x27; Check if during lunch (if configured)
    If m_LunchStart &gt; 0 And m_LunchEnd &gt; 0 Then
        If currentTime &gt;= m_LunchStart And currentTime &lt; m_LunchEnd Then
            IsBusinessHours = False
            Exit Function
        End If
    End If
    IsBusinessHours = True
End Function
Public Function GetBusinessHoursStatus() As String
    Dim currentTime As Date
    currentTime = Time
    If currentTime &lt; m_BusinessStart Then
        GetBusinessHoursStatus = &quot;Before business hours (opens at &quot; &amp; _
                                Format$(m_BusinessStart, &quot;h:mm AM/PM&quot;) &amp; &quot;)&quot;
    ElseIf currentTime &gt;= m_BusinessEnd Then
        GetBusinessHoursStatus = &quot;After business hours (closed at &quot; &amp; _
                                Format$(m_BusinessEnd, &quot;h:mm AM/PM&quot;) &amp; &quot;)&quot;
    ElseIf m_LunchStart &gt; 0 And currentTime &gt;= m_LunchStart And currentTime &lt; m_LunchEnd Then
        GetBusinessHoursStatus = &quot;Lunch break (returns at &quot; &amp; _
                                Format$(m_LunchEnd, &quot;h:mm AM/PM&quot;) &amp; &quot;)&quot;
    Else
        GetBusinessHoursStatus = &quot;Open for business&quot;
    End If
End Function
Public Function MinutesUntilOpen() As Long
    Dim currentTime As Date
    currentTime = Time
    If currentTime &lt; m_BusinessStart Then
        MinutesUntilOpen = DateDiff(&quot;n&quot;, currentTime, m_BusinessStart)
    Else
        &#x27; Next business day
        Dim nextOpen As Date
        nextOpen = DateAdd(&quot;d&quot;, 1, Date) + m_BusinessStart
        MinutesUntilOpen = DateDiff(&quot;n&quot;, Now, nextOpen)
    End If
End Function
Public Function MinutesUntilClose() As Long
    Dim currentTime As Date
    currentTime = Time
    If currentTime &gt;= m_BusinessEnd Then
        MinutesUntilClose = 0
    Else
        MinutesUntilClose = DateDiff(&quot;n&quot;, currentTime, m_BusinessEnd)
    End If
End Function</code></pre>
<h2 id="error-handling">Error Handling</h2>
<p>The <code>Time</code> function typically does not raise errors under normal circumstances:
- <strong>No parameters</strong>: Cannot have parameter errors
- <strong>System dependent</strong>: Relies on system clock being set correctly
- <strong>Always succeeds</strong>: Returns current time from system</p>
<h2 id="performance-notes">Performance Notes</h2>
<ul>
<li>Very fast operation - direct system call</li>
<li>Negligible performance impact</li>
<li>Can be called repeatedly without concern</li>
<li>For high-precision timing, use <code>Timer</code> function instead</li>
<li>Time resolution limited to one second</li>
</ul>
<h2 id="best-practices">Best Practices</h2>
<ol>
<li><strong>Use Now for timestamps</strong> if you need both date and time</li>
<li><strong>Use Timer for performance</strong> measurements (higher precision)</li>
<li><strong>Cache Time value</strong> if using multiple times in tight loop</li>
<li><strong>Use Format$</strong> to display time in specific format</li>
<li><strong>Consider time zones</strong> for distributed applications</li>
<li><strong>Validate system time</strong> is set correctly if critical</li>
<li><strong>Use <code>TimeSerial</code></strong> to create specific time values for comparison</li>
<li><strong>Handle overnight periods</strong> carefully (when start &gt; end time)</li>
<li><strong>Store as Date type</strong> not String for calculations</li>
<li><strong>Document time format</strong> assumptions in code comments</li>
</ol>
<h2 id="comparison-table">Comparison Table</h2>
<table>
<thead>
<tr>
<th>Function</th>
<th>Returns</th>
<th>Includes Date</th>
<th>Includes Time</th>
<th>Precision</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>Time</code></td>
<td>Variant (Date)</td>
<td>No (zero date)</td>
<td>Yes</td>
<td>1 second</td>
</tr>
<tr>
<td><code>Date</code></td>
<td>Variant (Date)</td>
<td>Yes</td>
<td>No (midnight)</td>
<td>1 day</td>
</tr>
<tr>
<td><code>Now</code></td>
<td>Variant (Date)</td>
<td>Yes</td>
<td>Yes</td>
<td>1 second</td>
</tr>
<tr>
<td><code>Timer</code></td>
<td>Single</td>
<td>No</td>
<td>Yes (seconds since midnight)</td>
<td>High</td>
</tr>
<tr>
<td><code>Time$</code></td>
<td>String</td>
<td>No</td>
<td>Yes</td>
<td>1 second</td>
</tr>
</tbody>
</table>
<h2 id="platform-notes">Platform Notes</h2>
<ul>
<li>Available in VB6, VBA, and <code>VBScript</code></li>
<li>Consistent behavior across platforms</li>
<li>Returns time based on system clock</li>
<li>Time format display depends on regional settings</li>
<li>Internal representation is numeric (fraction of a day)</li>
<li>Date portion always 12/30/1899 (zero date)</li>
</ul>
<h2 id="limitations">Limitations</h2>
<ul>
<li>No millisecond precision (use Timer for better precision)</li>
<li>Cannot get time from different time zone</li>
<li>No built-in UTC time support</li>
<li>Cannot specify which clock source to use</li>
<li>Display format depends on system locale settings</li>
<li>Cannot return time as numeric value directly (use <code>CDbl</code> or cast)</li>
<li>No built-in support for daylight saving time handling</li>
</ul>
        </article>
        
        <div style="margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--border-color);">
            <p>
                <a href="index.html">← Back to Datetime</a> |
                <a href="../index.html">View all functions</a>
            </p>
        </div>

    </main>

    <footer>
        <div class="container">
            <p>&copy; 2024-2026 VB6Parse Contributors. Licensed under the MIT License.</p>
        </div>
    </footer>
</body>
</html>