title: The Exact Local Date and Time Now, Computed From Your Device meta: See your current local date and time in ISO 8601, RFC 2822, Unix epoch, and more. All values derive from your device's clock and IANA time zone data.

Every format shown above is calculated inside your browser the moment the page loads. No server round-trip. No API call. The instant comes from your operating system clock. The zone, offsets, and DST rules come from your OS region settings, which follow the IANA time zone database, CLDR, and GeoNames via Python zoneinfo.

What Is the Local Date and Time Now in ISO 8601?

ISO 8601 is the international standard for machine-to-machine timestamps. It sorts lexicographically and carries the UTC offset, so two systems in different zones can compare the same instant without ambiguity.

The extended format uses hyphens and colons. 2026-10-01T14:30:00+02:00 means 2:30 PM in a zone two hours ahead of UTC. The basic format omits those separators. Both are valid under ISO 8601-1:2019.

APIs and JSON almost always want the extended format. PostgreSQL and SQLite accept it natively. If your stack expects UTC, send 2026-10-01T12:30:00Z. The Z is the ISO 8601 designation for a zero offset, not a phonetic alphabet letter.

For email headers, the standard is RFC 2822. It looks like Thu, 01 Oct 2026 14:30:00 +0200. The day-of-week must match the calendar date. A mismatch causes some mail servers to reject the message outright.

What Is the Local Date and Time Now in Unix Epoch?

The Unix epoch counts seconds since 1 January 1970 00:00:00 UTC. POSIX.1 mandates 86,400 seconds per day, ignoring leap seconds. The count is always UTC. The same instant produces the same integer in London, Tokyo, and São Paulo.

JavaScript uses milliseconds, not seconds. Date.now() returns the number of milliseconds since the epoch. That is the value you see in the milliseconds field above. If you paste a seconds-level epoch into a tool and the human date looks wrong, the tool is probably rendering in UTC while you expected your local zone. The integer itself is correct.

Negative timestamps are valid. They represent dates before 1970. The original time_t type was a signed 32-bit integer. On 19 January 2038 at 03:14:07 UTC, a 32-bit signed counter overflows. Most modern operating systems migrated time_t to 64-bit signed, which extends the range roughly 292 billion years in both directions. Embedded devices and older 32-bit Linux distributions remain at risk.

What Is the Local Date and Time Now as an Ordinal Date?

The ordinal date answers "what day of the year is it." It counts days from 1 January. Astronomers and data analysts use it for day-of-year tracking because it avoids month boundaries.

What Is the Current ISO Week Number?

ISO week numbering starts every week on Monday. Week 1 is the week that contains the year's first Thursday. Equivalently, it is the week with at least four days in the new year.

This rule produces edge cases. 29, 30, and 31 December can land in week 1 of the following year. 1, 2, and 3 January can land in the last week of the previous year. The ISO week-numbering year, written with a W prefix, may differ from the calendar year on those days.

Manufacturing, payroll, and project management sprints often run on ISO weeks. The US calendar week typically starts Sunday, which is a different system. Do not assume week 1 contains 1 January unless you know the scheme in use.

How Your Browser Gets the Local Date and Time Now

The JavaScript Date object stores a single instant as milliseconds since the epoch. Internally there is no local or UTC date. Only one moment exists.

Display methods like .toString() and .toLocaleString() apply your operating system's configured time zone. Intl.DateTimeFormat().resolvedOptions().timeZone returns the IANA zone identifier, such as America/New_York or Europe/Berlin. The browser reads the instant from the OS clock and the zone from the OS region settings. No network request. No permission prompt.

performance.now() is different. It is a high-resolution relative timer, not a wall clock. Do not use it for timestamps.

For the full mechanism, see How Browsers Determine Your Local Time.

Copying the Local Date and Time Now for Logs and Databases

For log files, use RFC 3339. It is a profile of ISO 8601 and looks like 2026-10-01T14:30:00+02:00. It is unambiguous and sortable. Avoid formats like Thu Oct 1 14:30:00 2026 in logs. They are hard to parse and harder to sort.

MySQL's TIMESTAMP type converts to the session time zone on read and write. If you want to store wall-clock values without conversion, use DATETIME. See Time in Databases.

When to Store UTC and When Not To

Store past events in UTC. A server in New York and a server in Tokyo should both log the same instant as 2026-10-01T12:30:00Z. The offset is zero, and no DST rule can change the recorded moment later.

Future events are different. Governments change time zone rules. If you store a future meeting as UTC and the offset rule changes before the meeting occurs, the wall-clock time shifts. Store future local times with the IANA zone identifier instead. See Why Store Dates in UTC.

Use Unix epoch for internal calculations only. It is compact and timezone-agnostic. It is not human-readable and conveys no calendar date. Use 12-hour time only for human-facing UIs in the US. For everything else, 24-hour time removes the AM/PM ambiguity. See 24-Hour Time Explained.