Day of week: Difference between revisions

From LemonWiki共筆
Jump to navigation Jump to search
No edit summary
 
(23 intermediate revisions by the same user not shown)
Line 1: Line 1:
Numeric representation of the day of the week
Numeric representation of the day of the week. MySQL, Excel or PHP approaches to specify these date time.


== Weekday ==
The value of weekday obtained from different approaches.
<div style="width:100%; min-height: .01%; overflow-x: auto;">
{| class="wikitable sortable nowrap"
{| class="wikitable sortable nowrap"
|-
|-
! style="text-align:right;" | Day
! style="text-align:right;" | Weekday values from different approaches
! Sunday
! Sunday
! Monday
! Monday
Line 12: Line 16:
! Saturday
! Saturday
|-
|-
! Weekday (ISO-8601 [http://php.net/manual/en/function.date.php PHP date] N character)
! [http://php.net/manual/en/function.date.php PHP date] with N format character: Weekday ([https://en.wikipedia.org/wiki/ISO_week_date ISO-8601])
| 7
| 7
| 1
| 1
Line 21: Line 25:
| 6
| 6
|-
|-
! Weekday ([https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_weekday MySQL])
! [https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_weekday MySQL WEEKDAY() function]
| 6
| 6
| 0
| 0
Line 30: Line 34:
| 5
| 5
|-
|-
! Weekday ([https://support.office.com/zh-tw/article/WEEKDAY-%E5%87%BD%E6%95%B8-60e44483-2ed1-439f-8bd0-e404c190949a Excel])
! [https://www.w3schools.com/sql/func_mysql_dayofweek.asp MySQL DAYOFWEEK() Function]
| 1
| 2
| 3
| 4
| 5
| 6
| 7
|-
! [https://support.office.com/zh-tw/article/WEEKDAY-%E5%87%BD%E6%95%B8-60e44483-2ed1-439f-8bd0-e404c190949a Excel WEEKDAY() function]
| 1
| 1
| 2
| 2
Line 39: Line 52:
| 7
| 7
|-
|-
! Weekday ([http://php.net/manual/en/function.date.php PHP date] w character)
! [http://php.net/manual/en/function.date.php PHP date] with w format character
| 0
| 0
| 1
| 1
Line 48: Line 61:
| 6
| 6
|-
|-
|}
</div>
== Get the date ==
Get the date of weekday from another known date (today or another specific day)
<div style="width:100%; min-height: .01%; overflow-x: auto;">
{| class="wikitable sortable nowrap"
|-
! style="text-align:right;" | Day
! Sunday
! Monday
! Tuesday
! Wednesday
! Thursday
! Friday
! Saturday
|-
! Last week
! Last week
| SELECT CURDATE() + INTERVAL -8 - WEEKDAY(CURDATE()) DAY;
| MySQL: {{kbd | key=SELECT CURDATE() + INTERVAL <span class="hightlight">-8</span> - WEEKDAY(CURDATE()) DAY;}} <br />Excel: {{kbd | key=<nowiki>=TODAY()-WEEKDAY(NOW())-6</nowiki>}}<br />PHP: {{kbd | key=<nowiki>echo date('Y-m-d', strtotime("Sunday -14 day")) . PHP_EOL;</nowiki>}}
|  
| MySQL: {{kbd | key=SELECT CURDATE() + INTERVAL <span class="hightlight">-7</span> - WEEKDAY(CURDATE()) DAY;}} <br />Excel: {{kbd | key=<nowiki>=TODAY()-WEEKDAY(NOW())-5</nowiki>}}<br />PHP: {{kbd | key=<nowiki>echo date('Y-m-d', strtotime("monday this week -7 day")) . PHP_EOL;</nowiki>}}
|  
|  
|  
|  
|  
|  
|  
|  
| MySQL: {{kbd | key=SELECT CURDATE() + INTERVAL <span class="hightlight">-3</span> - WEEKDAY(CURDATE()) DAY;}} <br />PHP: {{kbd | key=<nowiki>echo date('Y-m-d', strtotime('Friday -7 day')) . PHP_EOL;</nowiki>}}
| MySQL: {{kbd | key=SELECT CURDATE() + INTERVAL <span class="hightlight">-2</span> - WEEKDAY(CURDATE()) DAY;}} <br /> PHP<ref>[https://stackoverflow.com/questions/3742820/php-how-to-get-previous-sunday-of-a-specific-date-in-the-past PHP: How to get previous Sunday of a specific date in the past..? - Stack Overflow]</ref>: (1) {{kbd | key=<nowiki>echo date('Y-m-d', strtotime("last Saturday")) . PHP_EOL;</nowiki>}} (2) {{kbd | key=<nowiki>echo date('Y-m-d', strtotime('last Saturday', strtotime("2018-03-04 00:01:00"))) . PHP_EOL;</nowiki>}}
|-
|-
! This week
! This week
| SELECT CURDATE() + INTERVAL -1 - WEEKDAY(CURDATE()) DAY;
| MySQL: {{kbd | key=SELECT CURDATE() + INTERVAL <span class="hightlight">-1</span> - WEEKDAY(CURDATE()) DAY;}} <br />Excel: {{kbd | key=<nowiki>=TODAY()-WEEKDAY(NOW())+1</nowiki>}}<br />PHP: {{kbd | key=<nowiki>echo date('Y-m-d', strtotime("Sunday -7 day")) . PHP_EOL;</nowiki>}}
| SELECT CURDATE() + INTERVAL 0 - WEEKDAY(CURDATE()) DAY;
| MySQL: {{kbd | key=SELECT CURDATE() + INTERVAL <span class="hightlight">0</span> - WEEKDAY(CURDATE()) DAY;}} <br />Excel: {{kbd | key=<nowiki>=TODAY()-WEEKDAY(NOW())+2</nowiki>}}<br />PHP: {{kbd | key=<nowiki>echo date('Y-m-d', strtotime("monday this week")) . PHP_EOL;</nowiki>}}
| SELECT CURDATE() + INTERVAL 1 - WEEKDAY(CURDATE()) DAY;
| MySQL: {{kbd | key=SELECT CURDATE() + INTERVAL <span class="hightlight">1</span> - WEEKDAY(CURDATE()) DAY;}} <br />Excel: {{kbd | key=<nowiki>=TODAY()-WEEKDAY(NOW())+3</nowiki>}}
| SELECT CURDATE() + INTERVAL 2 - WEEKDAY(CURDATE()) DAY;
| MySQL: {{kbd | key=SELECT CURDATE() + INTERVAL <span class="hightlight">2</span> - WEEKDAY(CURDATE()) DAY;}} <br />Excel: {{kbd | key=<nowiki>=TODAY()-WEEKDAY(NOW())+4</nowiki>}}
| SELECT CURDATE() + INTERVAL 3 - WEEKDAY(CURDATE()) DAY;
| MySQL: {{kbd | key=SELECT CURDATE() + INTERVAL <span class="hightlight">3</span> - WEEKDAY(CURDATE()) DAY;}} <br />Excel: {{kbd | key=<nowiki>=TODAY()-WEEKDAY(NOW())+5</nowiki>}}
| SELECT CURDATE() + INTERVAL 4 - WEEKDAY(CURDATE()) DAY;
| MySQL: {{kbd | key=SELECT CURDATE() + INTERVAL <span class="hightlight">4</span> - WEEKDAY(CURDATE()) DAY;}} <br />Excel: {{kbd | key=<nowiki>=TODAY()-WEEKDAY(NOW())+6</nowiki>}}<br />PHP: {{kbd | key=<nowiki>echo date('Y-m-d', strtotime('Friday')) . PHP_EOL;</nowiki>}}
| SELECT CURDATE() + INTERVAL 5 - WEEKDAY(CURDATE()) DAY;
| MySQL: {{kbd | key=SELECT CURDATE() + INTERVAL <span class="hightlight">5</span> - WEEKDAY(CURDATE()) DAY;}} <br />Excel: {{kbd | key=<nowiki>=TODAY()-WEEKDAY(NOW())+7</nowiki>}} <br />PHP: {{kbd | key=<nowiki>echo date('Y-m-d', strtotime("Saturday")) . PHP_EOL;</nowiki>}}
|-
|-
! Next week
! Next week
| SELECT CURDATE() + INTERVAL 6 - WEEKDAY(CURDATE()) DAY;
| MySQL: {{kbd | key=SELECT CURDATE() + INTERVAL <span class="hightlight">6</span> - WEEKDAY(CURDATE()) DAY;}} <br />Excel: {{kbd | key=<nowiki>=TODAY()-WEEKDAY(NOW())+8</nowiki>}}<br />PHP: {{kbd | key=<nowiki>echo date('Y-m-d', strtotime("Sunday")) . PHP_EOL;</nowiki>}}
|  
| MySQL: {{kbd | key=SELECT CURDATE() + INTERVAL <span class="hightlight">7</span> - WEEKDAY(CURDATE()) DAY;}} <br />Excel: {{kbd | key=<nowiki>=TODAY()-WEEKDAY(NOW())+9</nowiki>}}<br />PHP: (1) {{kbd | key=<nowiki>echo date('Y-m-d', strtotime("next monday")) . PHP_EOL;</nowiki>}} (2) {{kbd | key=<nowiki>echo date('Y-m-d', strtotime("monday this week +7 day")) . PHP_EOL;</nowiki>}}
|  
|  
|  
|  
|  
|  
|  
| PHP: {{kbd | key=<nowiki>echo date('Y-m-d', strtotime('Friday +7 day')) . PHP_EOL;</nowiki>}}
|  
|  
|-
|-
|}
|}
</div>
== References ==
<References />


further reading
== Further reading ==
* PHP [http://php.net/manual/en/function.date.php date] function: w character (0 for Sunday through 6 for Saturday) or N character (1 for Monday through 7 for Sunday)
* PHP [http://php.net/manual/en/function.date.php date] function: w character (0 for Sunday through 6 for Saturday) or N character (1 for Monday through 7 for Sunday)
* [https://support.office.com/zh-tw/article/WEEKDAY-%E5%87%BD%E6%95%B8-60e44483-2ed1-439f-8bd0-e404c190949a WEEKDAY 函數 - Office 支援]
* [https://support.office.com/zh-tw/article/WEEKDAY-%E5%87%BD%E6%95%B8-60e44483-2ed1-439f-8bd0-e404c190949a WEEKDAY 函數 - Office 支援]
* [https://en.wikipedia.org/wiki/ISO_8601 ISO 8601 - Wikipedia]
* [https://en.wikipedia.org/wiki/ISO_8601 ISO 8601 - Wikipedia]
* [https://stackoverflow.com/questions/23020162/how-to-get-this-coming-sundays-date mysql - How to get this coming Sunday's date? - Stack Overflow]
* [https://stackoverflow.com/questions/23020162/how-to-get-this-coming-sundays-date mysql - How to get this coming Sunday's date? - Stack Overflow]
* [https://support.microsoft.com/zh-tw/help/827327/how-to-return-a-day-of-the-week-for-a-date-in-excel 如何在 Excel 中傳回的日期星期幾]
* [https://support.office.com/zh-tw/article/today-%E5%87%BD%E6%95%B8-5eb3078d-a82c-4736-8930-2f51a028fdd9 TODAY 函數 - Office 支援]


[[Category:PHP]]  
[[Category:PHP]]  

Latest revision as of 18:47, 13 May 2019

Numeric representation of the day of the week. MySQL, Excel or PHP approaches to specify these date time.

Weekday[edit]

The value of weekday obtained from different approaches.

Weekday values from different approaches Sunday Monday Tuesday Wednesday Thursday Friday Saturday
PHP date with N format character: Weekday (ISO-8601) 7 1 2 3 4 5 6
MySQL WEEKDAY() function 6 0 1 2 3 4 5
MySQL DAYOFWEEK() Function 1 2 3 4 5 6 7
Excel WEEKDAY() function 1 2 3 4 5 6 7
PHP date with w format character 0 1 2 3 4 5 6

Get the date[edit]

Get the date of weekday from another known date (today or another specific day)

Day Sunday Monday Tuesday Wednesday Thursday Friday Saturday
Last week MySQL: SELECT CURDATE() + INTERVAL -8 - WEEKDAY(CURDATE()) DAY;
Excel: =TODAY()-WEEKDAY(NOW())-6
PHP: echo date('Y-m-d', strtotime("Sunday -14 day")) . PHP_EOL;
MySQL: SELECT CURDATE() + INTERVAL -7 - WEEKDAY(CURDATE()) DAY;
Excel: =TODAY()-WEEKDAY(NOW())-5
PHP: echo date('Y-m-d', strtotime("monday this week -7 day")) . PHP_EOL;
MySQL: SELECT CURDATE() + INTERVAL -3 - WEEKDAY(CURDATE()) DAY;
PHP: echo date('Y-m-d', strtotime('Friday -7 day')) . PHP_EOL;
MySQL: SELECT CURDATE() + INTERVAL -2 - WEEKDAY(CURDATE()) DAY;
PHP[1]: (1) echo date('Y-m-d', strtotime("last Saturday")) . PHP_EOL; (2) echo date('Y-m-d', strtotime('last Saturday', strtotime("2018-03-04 00:01:00"))) . PHP_EOL;
This week MySQL: SELECT CURDATE() + INTERVAL -1 - WEEKDAY(CURDATE()) DAY;
Excel: =TODAY()-WEEKDAY(NOW())+1
PHP: echo date('Y-m-d', strtotime("Sunday -7 day")) . PHP_EOL;
MySQL: SELECT CURDATE() + INTERVAL 0 - WEEKDAY(CURDATE()) DAY;
Excel: =TODAY()-WEEKDAY(NOW())+2
PHP: echo date('Y-m-d', strtotime("monday this week")) . PHP_EOL;
MySQL: SELECT CURDATE() + INTERVAL 1 - WEEKDAY(CURDATE()) DAY;
Excel: =TODAY()-WEEKDAY(NOW())+3
MySQL: SELECT CURDATE() + INTERVAL 2 - WEEKDAY(CURDATE()) DAY;
Excel: =TODAY()-WEEKDAY(NOW())+4
MySQL: SELECT CURDATE() + INTERVAL 3 - WEEKDAY(CURDATE()) DAY;
Excel: =TODAY()-WEEKDAY(NOW())+5
MySQL: SELECT CURDATE() + INTERVAL 4 - WEEKDAY(CURDATE()) DAY;
Excel: =TODAY()-WEEKDAY(NOW())+6
PHP: echo date('Y-m-d', strtotime('Friday')) . PHP_EOL;
MySQL: SELECT CURDATE() + INTERVAL 5 - WEEKDAY(CURDATE()) DAY;
Excel: =TODAY()-WEEKDAY(NOW())+7
PHP: echo date('Y-m-d', strtotime("Saturday")) . PHP_EOL;
Next week MySQL: SELECT CURDATE() + INTERVAL 6 - WEEKDAY(CURDATE()) DAY;
Excel: =TODAY()-WEEKDAY(NOW())+8
PHP: echo date('Y-m-d', strtotime("Sunday")) . PHP_EOL;
MySQL: SELECT CURDATE() + INTERVAL 7 - WEEKDAY(CURDATE()) DAY;
Excel: =TODAY()-WEEKDAY(NOW())+9
PHP: (1) echo date('Y-m-d', strtotime("next monday")) . PHP_EOL; (2) echo date('Y-m-d', strtotime("monday this week +7 day")) . PHP_EOL;
PHP: echo date('Y-m-d', strtotime('Friday +7 day')) . PHP_EOL;

References[edit]

Further reading[edit]