Day of week: Difference between revisions

From LemonWiki共筆
Jump to navigation Jump to search
No edit summary
(17 intermediate revisions by the same user not shown)
Line 2: Line 2:


== Weekday ==
== 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 13: 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 22: 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 31: 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 40: 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 50: Line 62:
|-
|-
|}
|}
</div>


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


== Get the date ==
<div style="width:100%; min-height: .01%; overflow-x: auto;">
{| class="wikitable sortable nowrap"
{| class="wikitable sortable nowrap"
|-
|-
Line 66: Line 81:


! Last week
! Last week
| MySQL: {{kbd | key=<nowiki>SELECT CURDATE() + INTERVAL -8 - WEEKDAY(CURDATE()) DAY;</nowiki>}} <br />Excel: {{kbd | key=<nowiki>=NOW()-WEEKDAY(NOW())-6</nowiki>}}
| 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>}}
| 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
| MySQL: {{kbd | key=<nowiki>SELECT CURDATE() + INTERVAL -1 - WEEKDAY(CURDATE()) DAY;</nowiki>}} <br />Excel: {{kbd | key=<nowiki>=NOW()-WEEKDAY(NOW())+1</nowiki>}}
| 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>}}
| MySQL: {{kbd | key=<nowiki>SELECT CURDATE() + INTERVAL 0 - WEEKDAY(CURDATE()) DAY;</nowiki>}} <br />Excel: {{kbd | key=<nowiki>=NOW()-WEEKDAY(NOW())+2</nowiki>}}
| 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>}}
| MySQL: {{kbd | key=<nowiki>SELECT CURDATE() + INTERVAL 1 - WEEKDAY(CURDATE()) DAY;</nowiki>}} <br />Excel: {{kbd | key=<nowiki>=NOW()-WEEKDAY(NOW())+3</nowiki>}}
| MySQL: {{kbd | key=SELECT CURDATE() + INTERVAL <span class="hightlight">1</span> - WEEKDAY(CURDATE()) DAY;}} <br />Excel: {{kbd | key=<nowiki>=TODAY()-WEEKDAY(NOW())+3</nowiki>}}
| MySQL: {{kbd | key=<nowiki>SELECT CURDATE() + INTERVAL 2 - WEEKDAY(CURDATE()) DAY;</nowiki>}} <br />Excel: {{kbd | key=<nowiki>=NOW()-WEEKDAY(NOW())+4</nowiki>}}
| MySQL: {{kbd | key=SELECT CURDATE() + INTERVAL <span class="hightlight">2</span> - WEEKDAY(CURDATE()) DAY;}} <br />Excel: {{kbd | key=<nowiki>=TODAY()-WEEKDAY(NOW())+4</nowiki>}}
| MySQL: {{kbd | key=<nowiki>SELECT CURDATE() + INTERVAL 3 - WEEKDAY(CURDATE()) DAY;</nowiki>}} <br />Excel: {{kbd | key=<nowiki>=NOW()-WEEKDAY(NOW())+5</nowiki>}}
| MySQL: {{kbd | key=SELECT CURDATE() + INTERVAL <span class="hightlight">3</span> - WEEKDAY(CURDATE()) DAY;}} <br />Excel: {{kbd | key=<nowiki>=TODAY()-WEEKDAY(NOW())+5</nowiki>}}
| MySQL: {{kbd | key=<nowiki>SELECT CURDATE() + INTERVAL 4 - WEEKDAY(CURDATE()) DAY;</nowiki>}} <br />Excel: {{kbd | key=<nowiki>=NOW()-WEEKDAY(NOW())+6</nowiki>}}
| 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>}}
| MySQL: {{kbd | key=<nowiki>SELECT CURDATE() + INTERVAL 5 - WEEKDAY(CURDATE()) DAY;</nowiki>}} <br />Excel: {{kbd | key=<nowiki>=NOW()-WEEKDAY(NOW())+7</nowiki>}} <br />PHP: {{kbd | key=<nowiki>echo date('Y-m-d', strtotime("Saturday")) . PHP_EOL;</nowiki>}}
| 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
| MySQL: {{kbd | key=<nowiki>SELECT CURDATE() + INTERVAL 6 - WEEKDAY(CURDATE()) DAY;</nowiki>}} <br />Excel: {{kbd | key=<nowiki>=NOW()-WEEKDAY(NOW())+8</nowiki>}}
| 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 ==
Line 105: Line 119:
* [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.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]]  

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

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

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

Further reading