- Day and time in php
- PHP Directory Functions
- PHP Error
- PHP Filesystem Functions
- PHP FTP Functions
- PHP JASON
- PHP Math Functions
- PHP GMP Functions
- PHP MySQLi Functions
- PHP String Functions
- PHP Network Functions
- PHP IntlChar Functions
- PHP Image Processing and GD Functions
- PHP Gmagick Functions
- PHP Imagick Functions
- PHP ImagickDraw Functions
- PHP DsDeque Functions
- PHP DsMap Functions
- PHP DSSequence Functions
- PHP DSVector Functions
- PHP DsStack Functions
- PHP DsQueue Functions
- PHP DsPriorityQueue Functions
- PHP SPL Data structures
- PHP Basics
- PHP Advance
- PHP Array Functions
- PHP Calendar Functions
- PHP Directory Functions
- PHP Error
- PHP Filesystem Functions
- PHP FTP Functions
- PHP JASON
- PHP Math Functions
- PHP GMP Functions
- PHP MySQLi Functions
- PHP String Functions
- PHP Network Functions
- PHP IntlChar Functions
- PHP Image Processing and GD Functions
- PHP Gmagick Functions
- PHP Imagick Functions
- PHP ImagickDraw Functions
- PHP DsDeque Functions
- PHP DsMap Functions
- PHP DSSequence Functions
- PHP DSVector Functions
- PHP DsStack Functions
- PHP DsQueue Functions
- PHP DsPriorityQueue Functions
- PHP SPL Data structures
- The complete guide on working with dates and time in PHP
- How computers count time
- Unix Timestamp
- Standard Dates Reporting
- Setting and getting timezone on your server
- Timestamp function: time()
- PHP date() function
- Date function formatting options
- Conversion of date/time to Unix timestamp
Day and time in php
- PHP Date and Time
- PHP | checkdate() Function
- PHP | date_create(), date_format(), date_add() Functions
- PHP | date_create_from_format() Function
- PHP | date_date_set() Function
- PHP | date_default_timezone_get() Function
- PHP | date_default_timezone_set() Function
- PHP | date_diff() Function
- PHP | date_get_last_errors() Function
- PHP | date_isodate_set() Function
- PHP | date_modify() Function
- PHP | date_offset_get() Function
- PHP | date_parse_from_format() Function
- PHP | date_parse() Function
- PHP | date_sub() Function
PHP Directory Functions
PHP Error
PHP Filesystem Functions
- PHP basename( ) Function
- PHP chgrp( ) Function
- PHP chmod( ) Function
- PHP chown( ) Function
- PHP copy( ) Function
- PHP dirname( ) Function
- PHP disk_free_space( ) Function
- PHP disk_total_space( ) Function
- PHP feof( ) Function
- PHP fflush( ) Function
- PHP | fgetc( ) Function
- PHP | fgets( ) Function
- PHP | fgetss( ) Function
- PHP | file_exists( ) Function
- PHP file_get_contents() Function
- PHP Filesystem Functions Complete Reference
PHP FTP Functions
- PHP | ftp_alloc() function
- PHP | ftp_chdir() function
- PHP | ftp_close() function
- PHP | ftp_connect() function
- PHP | ftp_delete() function
- PHP | ftp_exec() function
- PHP | ftp_get() function
- PHP | ftp_put() function
- PHP | ftp_get_option() function
- PHP | ftp_login() function
- PHP | ftp_mdtm() Function
- PHP | ftp_mkdir() function
PHP JASON
PHP Math Functions
PHP GMP Functions
PHP MySQLi Functions
PHP String Functions
PHP Network Functions
PHP IntlChar Functions
PHP Image Processing and GD Functions
PHP Gmagick Functions
PHP Imagick Functions
PHP ImagickDraw Functions
PHP DsDeque Functions
PHP DsMap Functions
- PHP | Ds\Map allocate() Function
- PHP | Ds\Map apply() Function
- PHP | Ds\Map capacity() Function
- PHP | DS\Map clear() Function
- PHP | Ds\Map __construct() Function
- PHP Ds\Map copy() Function
- PHP | Ds\Map count() Function
- PHP | Ds\Map diff() Function
- PHP | Ds\Map filter() Function
- PHP | Ds\Map first() Function
- PHP Ds\Map Functions Complete Reference
PHP DSSequence Functions
PHP DSVector Functions
PHP DsStack Functions
PHP DsQueue Functions
PHP DsPriorityQueue Functions
PHP SPL Data structures
- SplDoublyLinkedList in PHP
- PHP SplDoublyLinkedList add() Function
- PHP SplDoublyLinkedList bottom() Function
- PHP SplDoublyLinkedList count() function
- PHP SplFixedArray count() Function
- PHP SplFixedArray current() Function
- PHP SplFixedArray getSize() Function
- PHP SplFixedArray key() Function
- PHP SplObjectStorage addAll() Function
- PHP SplObjectStorage attach() Function
- PHP SplObjectStorage contains() Function
- PHP SplObjectStorage count() Function
- PHP SplQueue::__construct() Function
- PHP SPL Data structures Complete Reference
PHP Basics
- PHP Tutorial
- PHP | Introduction
- PHP Full Form
- How to set PHP development environment in windows ?
- LAMP installation and important PHP configurations on Ubuntu
- PHP | Coding Standards
- PHP | Basic Syntax
- PHP | Variables
- PHP echo and print
- PHP | Data Types
- PHP | Strings
- PHP | Constants
- PHP | Magic Constants
- PHP | Decision Making
- PHP | Loops
- PHP | Superglobals
- PHP | Regular Expressions
- PHP Examples
PHP Advance
- Describe PHP Include and Require
- PHP | Basics of File Handling
- PHP | fopen( ) (Function open file or URL)
- PHP fread( ) Function
- PHP fclose( ) Function
- PHP | fwrite( ) Function
- PHP | Uploading File
- PHP Cookies
- PHP | Sessions
- PHP Filter and Filter Constant
- Implementing callback in PHP
- Exception Handling in PHP
PHP Array Functions
- PHP | Arrays
- PHP array() Function
- PHP | array_change_key_case() Function
- PHP array_chunk() Function
- PHP | array_column() Function
- PHP array_combine() Function
- PHP array_count_values() Function
- PHP array_diff() function
- PHP array_diff_assoc() Function
- PHP array_diff_key() Function
- PHP array_diff_uassoc() Function
- PHP array_diff_ukey() Function
- PHP array_fill() function
- PHP array_fill_keys() Function
- PHP Array Functions Complete Reference
PHP Calendar Functions
- PHP Date and Time
- PHP | checkdate() Function
- PHP | date_create(), date_format(), date_add() Functions
- PHP | date_create_from_format() Function
- PHP | date_date_set() Function
- PHP | date_default_timezone_get() Function
- PHP | date_default_timezone_set() Function
- PHP | date_diff() Function
- PHP | date_get_last_errors() Function
- PHP | date_isodate_set() Function
- PHP | date_modify() Function
- PHP | date_offset_get() Function
- PHP | date_parse_from_format() Function
- PHP | date_parse() Function
- PHP | date_sub() Function
PHP Directory Functions
PHP Error
PHP Filesystem Functions
- PHP basename( ) Function
- PHP chgrp( ) Function
- PHP chmod( ) Function
- PHP chown( ) Function
- PHP copy( ) Function
- PHP dirname( ) Function
- PHP disk_free_space( ) Function
- PHP disk_total_space( ) Function
- PHP feof( ) Function
- PHP fflush( ) Function
- PHP | fgetc( ) Function
- PHP | fgets( ) Function
- PHP | fgetss( ) Function
- PHP | file_exists( ) Function
- PHP file_get_contents() Function
- PHP Filesystem Functions Complete Reference
PHP FTP Functions
- PHP | ftp_alloc() function
- PHP | ftp_chdir() function
- PHP | ftp_close() function
- PHP | ftp_connect() function
- PHP | ftp_delete() function
- PHP | ftp_exec() function
- PHP | ftp_get() function
- PHP | ftp_put() function
- PHP | ftp_get_option() function
- PHP | ftp_login() function
- PHP | ftp_mdtm() Function
- PHP | ftp_mkdir() function
PHP JASON
PHP Math Functions
PHP GMP Functions
PHP MySQLi Functions
PHP String Functions
PHP Network Functions
PHP IntlChar Functions
PHP Image Processing and GD Functions
PHP Gmagick Functions
PHP Imagick Functions
PHP ImagickDraw Functions
PHP DsDeque Functions
PHP DsMap Functions
- PHP | Ds\Map allocate() Function
- PHP | Ds\Map apply() Function
- PHP | Ds\Map capacity() Function
- PHP | DS\Map clear() Function
- PHP | Ds\Map __construct() Function
- PHP Ds\Map copy() Function
- PHP | Ds\Map count() Function
- PHP | Ds\Map diff() Function
- PHP | Ds\Map filter() Function
- PHP | Ds\Map first() Function
- PHP Ds\Map Functions Complete Reference
PHP DSSequence Functions
PHP DSVector Functions
PHP DsStack Functions
PHP DsQueue Functions
PHP DsPriorityQueue Functions
PHP SPL Data structures
- SplDoublyLinkedList in PHP
- PHP SplDoublyLinkedList add() Function
- PHP SplDoublyLinkedList bottom() Function
- PHP SplDoublyLinkedList count() function
- PHP SplFixedArray count() Function
- PHP SplFixedArray current() Function
- PHP SplFixedArray getSize() Function
- PHP SplFixedArray key() Function
- PHP SplObjectStorage addAll() Function
- PHP SplObjectStorage attach() Function
- PHP SplObjectStorage contains() Function
- PHP SplObjectStorage count() Function
- PHP SplQueue::__construct() Function
- PHP SPL Data structures Complete Reference
The complete guide on working with dates and time in PHP
As a developer, nearly every application you will work on requires the use of time in some way. You will need to keep a record of the time in which various activities occur, such as the time in which a record is created, updated, deleted, when a user logs in, etc.
At some point, you’re going to have to collect, store, retrieve and display dates and times in different formats. You are also likely to do calculations involving time such as adding days to a day, subtracting a number of days from a date, comparing two days, etc.
In this article, we will cover in detail working with dates and times in PHP.
How computers count time
Computers count time from an instant called Unix epoch, which occurred on January 1, 1970, at 00:00:00 UTC(Coordinated Universal Time). UTC is also known as GMT(Greenwich Meridian Time), which is the time at a longitude of 0°.
Unix time elapses at the same rate as UTC. You can calculate the UTC date and time of any given instant since January 1, 1970, by counting the number of seconds since the Unix epoch, with the exception of leap seconds. Leap seconds are occasionally added to UTC to account for the slowing of the Earth’s rotation but are not added to Unix time.
Unix Timestamp
Unix timestamp is the number of seconds that have elapsed since January 1, 1970, at 00:00:00 UTC.
Standard Dates Reporting
Computers count time using Unix timestamp, calculating the number of seconds that have passed since Jan 1, 1970. However, this would be difficult and incredibly inefficient for humans. Thus, we work in terms of years, months, days, hours, minutes, and seconds.
But this also comes with complexities because different regions and cultures have different ways of writing the date. For instance, dates in the United States are written starting with the month, then day, then the year. December 31, 2021, will be written as 12-31-2021. On the other hand, the same date will be written as 31-12-2021 in Europe and other regions.
To standardize the date and help fix the communication mistakes, the International Organization for Standardization (ISO) introduced ISO8601. This standard specifies that all dates should be written in order of most-to-least-significant data. This means the format is the year, month, day, hour, minute, and second:
In the example above, YYYY represents a four-digit year, and MM and DD are the two-digit month and day, starting with a zero if less than 10. After that, HH, MM, and SS represent the two-digit hours, minutes, and seconds, starting with a zero if less than 10.
The above format eliminates the ambiguity in dates representation, where dates written as DD-MM-YYYY or MM-DD-YYYY can be misinterpreted if the day is a valid month number.
Most databases use YYYY-MM-DD HH:MM:SS format to store date and time and YYYY-MM-DD to store date.
Setting and getting timezone on your server
Different regions of the world have different timezones. You can know which timezone your web server is set to with the following PHP function.
To change to the timezone that will be used in your date and time functions in PHP, you do it with the function date_default_timezone_set($timezoneId), where $timezoneId is a string value.
The above code sets the timezone to that of Nairobi, Kenya. You can get a list of all timezones on this link
Unless all your website/app users are from the same region, it is always advisable to set your server time zone to UTC.
Below is how you set timezone to UTC in PHP:
For the date and time functions to pick and reflect the timezone specific time, you should always the function for setting the timezone at the top.
Timestamp function: time()
The function returns the current unix timestamp, ie. total number of seconds that have passed since January 1, 1970 at 00:00:00 UTC.
PHP date() function
The function returns a string formatted according to the given format string using the given integer timestamp.
It takes the format below:
Where $format is a string value and $timestamp an optional integer unix timestamp value.If $timestamp is not given, the function defaults to the value of time()
Date function formatting options
To convert/format a date in different formats using the date() function, you need to first convert that date into a Unix timestamp using the strtotime() function.
Conversion of date/time to Unix timestamp
The strtotime() function parses an English textual datetime into a Unix timestamp (the number of seconds since January 1 1970 00:00:00 GMT).
Example 2: Displaying current time in DateTime format