mysql中如何判断某天周几_Mysql的日期轉換成星期[某天對應周幾]

|——

應用中會有各種不同的需求,要靈活應對:比如拿到某一日期要知道是周幾

|——DAYOFWEEK(date) 【返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。這些索引值對應於ODBC標准。】

mysql> select DAYOFWEEK(CURRENT_TIMESTAMP());

+--------------------------------+

| DAYOFWEEK(CURRENT_TIMESTAMP()) |

+--------------------------------+

|                 3 |

+--------------------------------+

1 row in set

沒錯就是3 對應ODBC標准中找出對應 就是星期二;好坑。

寫了一函數轉換:

privatefunction _week($num)

{

$res= '';switch($num) {case 1:

$res= '星期天';break;case 2:

$res= '星期一';break;case 3:

$res= '星期二';break;case 4:

$res= '星期三';break;case 5:

$res= '星期四';break;case 6:

$res= '星期五';break;case 7:

$res= '星期六';break;

}return$res;

}

|——WEEKDAY(date)【返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。】

mysql> select WEEKDAY(CURRENT_TIMESTAMP());

+------------------------------+

| WEEKDAY(CURRENT_TIMESTAMP()) |

+------------------------------+

|                 1

|

+------------------------------+

1 row in set

怎么又是1了 好坑。

|——DAYOFMONTH(date) 【返回date的月份中日期,在1到31范圍內。】

mysql> select DAYOFMONTH('2008-08-08');

+--------------------------+

| DAYOFMONTH('2008-08-08') |

+--------------------------+

|              8 |

+--------------------------+

1 row in set

|——DAYOFYEAR(date) 【返回date在一年中的日數, 在1到366范圍內。】

mysql> select DAYOFYEAR('2008-08-08');

+-------------------------+

| DAYOFYEAR('2008-08-08') |

+-------------------------+

| 221

|

+-------------------------+

1 row in set

|——MONTH(date)【返回date的月份,范圍1到12。】

mysql> select MONTH('2008-08-08');

+---------------------+

| MONTH('2008-08-08') |

+---------------------+

| 8                   |

+---------------------+

1 row in set

|——DAYNAME(date)【返回date的星期名字。】

mysql> select DAYNAME("2008-08-08");

+-----------------------+

| DAYNAME("2008-08-08") |

+-----------------------+

| Friday                |

+-----------------------+

1 row in set

|——MONTHNAME(date)【返回date的月份名字。】

mysql> select MONTHNAME("2008-08-08");

+-------------------------+

| MONTHNAME("2008-08-08") |

+-------------------------+

| August                  |

+-------------------------+

1 row in set

|——QUARTER(date) 【返回date一年中的季度,范圍1到4。】

mysql> select QUARTER("2008-08-08");

+-----------------------+

| QUARTER("2008-08-08") |

+-----------------------+

| 3                     |

+-----------------------+

1 row in set

|——WEEK(date) | WEEK(date,first)

對於星期天是一周的第一天的地方,有一個單個參數,返回date的周數,范圍在0到52。2個參數形式WEEK()允許

你指定星期是否開始於星期天或星期一。如果第二個參數是0,星期從星期天開始,如果第二個參數是1,

從星期一開始。

mysql> select week('2008-08-08',1);

+----------------------+

| week('2008-08-08',1) |

+----------------------+

| 32                   |

+----------------------+

1 row in set

mysql> select week('2008-08-08',0);

+----------------------+

| week('2008-08-08',0) |

+----------------------+

| 31                   |

+----------------------+

1 row in set

|——YEAR(date)【返回date的年份,范圍在1000到9999。】

mysql> select year(now());

+-------------+

| year(now()) |

+-------------+

| 2014        |

+-------------+

1 row in set

|——CURRENT_DATE【以'YYYY-MM-DD'或YYYYMMDD格式返回今天日期值,取決於函數是在一個字符串還是數字上下文被使用。】

mysql> select curdate();

+------------+

| curdate()  |

+------------+

| 2014-04-15 |

+------------+

1 row in set

mysql> select curdate() + 0;

+---------------+

| curdate() + 0 |

+---------------+

| 20140415      |

+---------------+

1 row in set

|——CURTIME()  | CURRENT_TIME 【以'HH:MM:SS'或HHMMSS格式返回當前時間值,取決於函數是在一個字符串還是在數字的上下文被使用。】

mysql> select curtime();

+-----------+

| curtime() |

+-----------+

| 15:11:00  |

+-----------+

1 row in set

mysql> select current_time;

+--------------+

| current_time |

+--------------+

| 15:11:13     |

+--------------+

1 row in set

mysql> select current_time + 0;

+------------------+

| current_time + 0 |

+------------------+

| 151157.000000    |

+------------------+

1 row in set

|——  NOW()  == SYSDATE() == CURRENT_TIMESTAMP

mysql> select now();

+---------------------+

| now()               |

+---------------------+

| 2014-04-15 15:12:58 |

+---------------------+

1 row in set

mysql> select now() + 0;

+-----------------------+

| now() + 0             |

+-----------------------+

| 20140415151306.000000 |

+-----------------------+

1 row in set

參考:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值