Time and date functions
PHP provides a wide range of funtions in relation to time and date. In this lesson, we will look at the most important of these functions: date.With different parameters, the date function can return the current date / time in many different formats. Some of the most useful parameters are:
- date("y")
- Returns the current year from a date - with today's date, it returns: 12
- date("m")
- Returns the current month from a date - with today's date, it returns: 05
- date("n")
- Returns the current month from a date without leading zeroes ( eg. "1" instead of "01") - with today's date, it returns: 5
- date("F")
- Returns the current month name from a date - with today's date, it returns: May
- date("d")
- Returns the current day of the month from a date - with today's date, it returns: 22
- date("l")
- Returns the name of the current weekday from a date - with today's date, it returns: Tuesday
- date("w")
- Returns the current day of the week from a date - with today's date, it returns: 2
- date("H")
- Returns the current hour from a time - with the current time, it returns: 00
- date("i")
- Returns the current minute from a time - with the current time, it returns: 27
- date("s")
- Returns the current second from a time - with the current time, it returns: 31
This example illustrates the use of the date function:
show example
The time is 1337639251
And now hold on... because now it becomes a little nerdy! The function time() returns the current time as the number of seconds since January 1, 1970, 12:00 PM, GMT.show example
Time expressed in the number of seconds since January 1, 1970, 12:00 PM GMT is a so-called "timestamp" (UNIX timestamp) and is quite useful when you work with dates/times in the future or the past.
By default, the date function uses the current timestamp (i.e. the current value of time()). But with an extra parameter you can specify a different time stamp and thus work with the future or the past. In the example below, we set the timestamp to 0 seconds from January 1, 1970 12:00 PM, GMT. Thereby we can check what day of week January 1, 1970 was.
show example
Unless you are a mathematical genius, it quickly becomes complicated to count the number of seconds since January 1, 1970 to a specific time in the future or past. But here you can get help from another nifty function: mktime, which does the calculations for you.
The syntax for mktime is (hour, minute, second, month, day, year). The example below converts the time of the first step on the Moon (July 21, 1969, 02:56):
show example
Notice that it's returning a negative number as the date is earlier than January 1, 1970.
We can now put this together with the date function and find out which weekday this historic day took place.
show example
What can you use it for?
All this may seem a bit theoretical at this stage. After all, what on earth can you use a function like time() for? More importantly, when will you learn something you can actually use on your pages?The answer is that what you learn here are building blocks - the only limitations to what you can build are your creativity and imagination! I would venture to say that you have already learned more than you think. For example, do you think you can make a website with different background images each day of the week and that works in all browsers?
Sure you can! Look at this example:
show example
The example above, with a dynamic background image, simply requires that you make seven images and name them background_1.png, background_2.png, background_3.png, etc.
If a user then enters your site on a Tuesday, the site will have background_2.png as background, and the next day, background_3.png. Easy and simple!
In the next lesson, you will be introduced to new building blocks that can be used to make loops and repetitions in your codes.
PHP is fun, don't you think?