It is Tuesday morning. Your watch shows a completed night of sleep, but today's Health.md note looks empty. The data may not be missing at all—it may be in Monday's note.

Daily sleep summaries use a local noon-to-noon journal window. Monday’s window runs from Monday 12:00 to Tuesday 12:00. Sleep from Monday 23:45 to Tuesday 07:30 belongs to Monday; so does sleep from Tuesday 01:00 to 07:30. A Tuesday afternoon nap belongs to Tuesday. See the complete sleep-date examples.

For the complete metric-selection, preview, and CSV workflow, follow how to export Apple Health sleep data.

What to export in the morning

What you want Date to export
Last night's sleep on Tuesday morning Yesterday (Monday)
Tuesday's steps and activity Today (Tuesday)
Both in one run Monday and Tuesday

This rule applies to readable exports, Daily Note Injection, API Endpoint payloads, and compatible Apple and Android summaries.

Why use a sleep journal window?

The journal window keeps a typical night together instead of splitting it at midnight. The opening noon is included and the next noon excluded. Sleep crossing noon can contribute to adjacent summaries; source timestamps are not rewritten.

Raw or canonical records retain original timestamps and their own ownership rules. Software must not infer session boundaries from a daily total. The typed healthmd_sleep_sessions query is available on supported Apple Health CLI/MCP paths; Android typed MCP queries are not currently supported. See platform capabilities.

Health Connect may present a night using the wake date in another interface. That display choice does not change Health.md's shared attribution rule. The rule is kept the same across compatible Apple and Android exports so a vault or consumer does not need a different daily-note convention for each phone.

Configure a morning schedule

A practical morning automation exports Yesterday for sleep and, if needed, Today for same-day activity. On iPhone, use the “Export Yesterday's Health Data” Shortcut. On Android, select the equivalent date scope in the schedule or explicit automation action.

If a watch or source app synchronizes after the scheduled run, export the sleep journal day again. Health.md's file updates are designed for repeatable output, and Daily Note Injection replaces app-managed fields rather than appending duplicates.

What an empty result does—and does not—mean

Before concluding that no sleep occurred, check:

Denied access, unsupported data, late synchronization, and an empty matching range are possible causes, not states that can always be distinguished from an empty result. On iPhone, HealthKit does not reveal whether read access was denied. Review the actual coverage or error information and allowed categories; do not invent a permission state or turn a missing value into zero. See export troubleshooting.

There is currently no setting that moves the daily sleep summary to the wake date. Keeping one documented rule protects stable filenames, automation, and downstream consumers.