Developer Documentation
PHP
Updated September 19, 2026

Unix Timestamp and Epoch in PHP

Generate and convert Unix timestamps in seconds and milliseconds in PHP.

Unix time counts elapsed time from the Unix epoch at 1970-01-01T00:00:00Z. Different ecosystems use different units, so always label whether a value is in seconds, milliseconds, microseconds, or nanoseconds.

Quick Start#

The following example uses the standard PHP API or a widely used package for this task.

Quick start#

PHP
1<?php2$seconds = time();3$milliseconds = (int) floor(microtime(true) * );45echo $seconds . PHP_EOL;6echo $milliseconds . PHP_EOL;

Common Operations#

This second pattern covers a common production operation or a safer way to handle real input.

Convert with DateTimeImmutable#

PHP
1<?php2$dt = (new DateTimeImmutable('@' . $seconds))3    ->setTimezone(new DateTimeZone('UTC'));45echo $dt->format(DateTimeInterface::ATOM) . PHP_EOL;

Important Notes#

The @timestamp DateTime syntax starts in UTC; set an explicit display timezone afterward when needed.

Best Practices#

  1. Treat external input as untrusted and handle parse/validation errors explicitly.
  2. Keep encoding, units, formats, and library-specific mapping rules explicit at system boundaries.
  3. Add test vectors that cover empty input, Unicode text, malformed input, and representative production data.

References#

Implement Unix Timestamp in other languages: