Problem:
You want to find out the day of a given date ex. 11th September 2001.
Solution:
There is more than one way to find out day of the week of a given date. Let’s see few of those methods-
Method 1: Using SPL
Using SPL(standard PHP Library), you can find out week day from a given date very easily.
If you didn’t use before, PHP provides some classes (which is called SPL in a whole) to help developers solve most common problem very easily. One of those classes is DateTIme class. We’ll use this class.
See the following example-
<?php $dateObj = DateTime::createFromFormat('M-j-Y', 'Sep-11-2001'); echo $dateObj->format('l'); ?>
[wpdm_file id=89]
Output:
Tuesday
How it works:
Line 2 | Here, we use createFromFormat() method of the DateTime class to create a DateTime object using the supplied date(Sep-11-2001 which is mentioned in the second parameter) according to the specified format(specified in first parameter). And, we store that DateTime object in the $dateObj variable. |
Line 3 | Here, we use another method of DateTime class- format(). This method returns a formatted date according to the format specified in its parameter. As we want to know the day of the week from our DateTIme object($dateObj), we mention ‘l’ as parameter which returns day of the week; here, Tuesday. |
Method 2: Using date() function
Using date() function you can also calculate the day of the week from a date. At first, you have to convert the supplied date to unix timestamp, then, find the day of the week using date() function.
See the following code-
<?php $timestamp = strtotime("11 September 2001"); echo $formattedDate = date("l", $timestamp); ?>
[wpdm_file id=90]
Output:
Tuesday
How it works:
Line 2 | strtotime() function returns unix timestamp equivalent to the date, 11 september 2001. Note: this function can take any English textual datetime and returns its equivalent unix timestamp. |
Line 3 | The date() function returns the day of the week(‘l’ in the first parameter tells to returns day of the week from the $timestamp timestamp) of the date represted by the $timestamp. |