sql >> Databáze >  >> RDS >> Mysql

PHP datum('W') vs MySQL YEARWEEK(nyní())

Musíte zadat režim 3 ve volání mysql YEARWEEK:

SELECT YEARWEEK(now(),3); 

PHP date() zástupný symbol W vrátí číslo týdne podle specifikace ISO 8601 . To znamená, že týdny začínají v pondělí (ne v neděli), první týden v roce je číslo 1 (ne 0) a tento týden je první, který má více než polovinu dnů v novém roce (musí to být leden do čtvrtka). Podle dokumentace k MySQL funkce WEEK , tato kombinace možností je režim 3.

Také pro vtažení Allesovy poznámky do přijaté odpovědi, protože je to důležité:zástupné symboly Y a W nechoďte spolu. Pokud chcete rok, který odpovídá čísle týdne ISO, měli byste použít o místo Y . Vezměme si například týden začínající v pondělí 29. prosince 2014:

date('YW', mktime(0,0,0,12,29,2014));  #=> 201401 : 1st week of 2014??
date('oW', mktime(0,0,0,12,29,2014));  #=> 201501 : better


  1. Připojení Orbeon Forms Postgres DB

  2. Nelze se připojit k MySQL Workbench na Macu. Nelze se připojit k serveru MySQL na '127.0.0.1' (61) Mac Macintosh

  3. Převeďte uložený řetězec md5 na desítkovou hodnotu v MySQL

  4. Jak mohu nastavit vlastní formát data a času v Oracle SQL Developer?