hour — Extract hour components from datetime values in MATLAB and RunMat.
hour(t) extracts hour-of-day values from datetime input. The documented legacy forms also accept serial date numbers or date text, with an optional input format for legacy non-datetime input.
Syntax
X = hour(t)
X = hour(t, F)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
value | Any | Yes | — | Datetime input. |
t | Any | Yes | — | Legacy serial date number or date text. |
F | StringScalar | Yes | — | Legacy datestr input format. |
Returns
| Name | Type | Description |
|---|---|---|
X | Any | Numeric scalar/tensor result. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:datetime:InvalidArgument | Arguments or option grammar do not match supported datetime forms. | datetime: invalid argument |
RunMat:datetime:InvalidInput | Input values cannot be parsed/converted/broadcast to a valid datetime result. | datetime: invalid input |
RunMat:datetime:Internal | Internal datetime state or indexing/evaluation failed unexpectedly. | datetime: internal operation failed |
How hour works
hour(t)accepts datetime scalars and datetime arrays.- The output shape matches the input shape.
- Hour values are returned in 24-hour clock form.
- Documented legacy binary64 serial date numbers and date text return double hour values with matching shape.
- Single-precision and all eight typed-integer legacy serial inputs are a gated RunMat extension; exact native values are range-checked before one binary64 serial-date conversion.
Does RunMat run hour on the GPU?
hour does not dispatch a GPU kernel. Explicit resident input is a separately gated RunMat extension, while internal automatic residency can gather transparently.
GPU memory and residency
Documented hour forms are host-side. RunMat can admit resident legacy numeric input as an extension, gathers it non-destructively through the exact owner, and returns the documented host double result.
Examples
Extract the hour from a scalar datetime
t = datetime(2024, 4, 9, 13, 30, 5);
h = hour(t)Expected output:
h = 13Extract hours from a datetime array
t = datetime([2024 2024], [4 4], [9 9], [8 17], [15 45], [0 0]);
h = hour(t)Expected output:
h =
8 17Using hour with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how hour changes the result.
Run a small hour example, explain the result, then change one input and compare the output.
FAQ
What clock convention does hour use?⌄
It returns 24-hour clock values such as 0, 13, or 23.
Does hour preserve the input shape?⌄
Yes. The numeric output has the same size as the input datetime array.
Does hour run on the GPU?⌄
No. datetime values are host-side objects, so hour executes on the CPU.
Related Datetime functions
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how hour is executed, line by line, in Rust.
- View the source for hour in Rust on GitHub
- Learn how the RunMat runtime works
- Found a bug? Open an issue with a minimal reproduction.
About RunMat
RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.
- RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
- Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.