Bluetooth GATT Characteristic Reference
Date Time (0x2A08)
The Date Time characteristic contains fields for year, month, day, hours, minutes and seconds. Calendar days in Date Time are represented using Gregorian calendar. Hours in Date Time are represented in the 24h system.
Quick Summary
Payload length is 7 bytes. This page is generated from official GATT XML and presented as implementation-ready guidance.
At a Glance
Key reference details for BLE implementation, interoperability testing, and AI-assisted troubleshooting.
| Property | Value |
|---|---|
| Name | Date Time |
| UUID | 0x2A08 |
| Type | org.bluetooth.characteristic.date_time |
| XML Root | Characteristic |
| Source File | org.bluetooth.characteristic.date_time.xml |
| Field Count | 6 |
Field Specification
Parsed field definitions from the source XML value structure.
| Field | Requirement | Format | Unit | Exponent | Notes |
|---|---|---|---|---|---|
| Year | Mandatory | uint16 | org.bluetooth.unit.time.year | - | Year as defined by the Gregorian calendar. |
| Month | Mandatory | uint8 | org.bluetooth.unit.time.month | - | Month of the year as defined by the Gregorian calendar. |
| Day | Mandatory | uint8 | org.bluetooth.unit.time.day | - | Day of the month as defined by the Gregorian calendar. |
| Hours | Mandatory | uint8 | org.bluetooth.unit.time.hour | - | Number of hours past midnight. |
| Minutes | Mandatory | uint8 | org.bluetooth.unit.time.minute | - | Number of minutes since the start of the hour. |
| Seconds | Mandatory | uint8 | org.bluetooth.unit.time.second | - | Number of seconds since the start of the minute. |
Byte Layout and Decode
Payload length is 7 bytes.
function decodePayload(dataView, offset = 0) {
const year = dataView.getUint16(offset + 0, true);
const month = dataView.getUint8(offset + 2);
const day = dataView.getUint8(offset + 3);
const hours = dataView.getUint8(offset + 4);
const minutes = dataView.getUint8(offset + 5);
const seconds = dataView.getUint8(offset + 6);
return { year, month, day, hours, minutes, seconds };
}
Use Cases and Integration Notes
BLE Telemetry
Map characteristic values into dashboards and alerts for device observability.
Firmware Regression
Compare decoded fields across builds to detect protocol or scaling changes.
App Integration
Build stable parsing paths that convert raw payloads into typed app models.
Implementation Checklist
- Validate payload length and mandatory fields before decode.
- Decode with Bluetooth-specified signedness, unit, and exponent handling.
- Convert units at presentation boundaries to avoid drift in business logic.
- Persist raw packets and decoded values for reproducible troubleshooting.
FAQ
What is Date Time in Bluetooth GATT?
Date Time is defined as a Bluetooth GATT characteristic entry with type org.bluetooth.characteristic.date_time and UUID 0x2A08.
What UUID identifies Date Time?
The UUID for Date Time is 0x2A08.
How should I parse Date Time?
Payload length is 7 bytes.
Where does this definition come from?
This page is generated from the Bluetooth SIG mirror XML in the oesmith/gatt-xml repository.
How does this page support BLE implementation?
The page combines structured tables, practical Q&A, and JSON-LD metadata to help teams validate integrations and troubleshoot consistently.