Set the time of a date to midnight

Return the start of the UTC day of a date-time.

JavaScript Version 1.0.0 · MIT · .md

initialize-the-current-date-but-set-time-to-midnight.js
function midnightUtc(now) { const d = new Date(now); d.setUTCHours(0, 0, 0, 0); return d.toISOString(); }

Input & expected output

Input

"2026-10-28T14:05:00Z"

Expected output

"2026-10-28T00:00:00.000Z"

The edge case

Input

"2026-10-28T23:30:00-03:00"

Expected output

"2026-10-29T00:00:00.000Z"

Know the limits

  • The original used local midnight via setHours; this version is UTC so it is the same on every server. Use setHours for the reader’s local day.

The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.

Source & maintenance

Based on Initialize the current date but set time to midnight from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.

Takes the time as an input and returns UTC midnight; the original used local midnight. Original MDX retained as inert source evidence.

Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.

Local fixture scope · Node.js 22.23.2 · reviewed October 28, 2026. No external service is required.

Keep exploring

Type two or more characters. Try “duplicate”, “webhook” or “retry”.