怎么将mysql的时间转为星期_Mysql的⽇期转换成星期[某天对
应周⼏]
|——
应⽤中会有各种不同的需求,要灵活应对:⽐如拿到某⼀⽇期要知道是周⼏
|——DAYOFWEEK(date) 【返回⽇期date的星期索引(1=星期天,2=星期⼀, ……7=星期六)。这些索引值对应于ODBC标准。】mysql> select DAYOFWEEK(CURRENT_TIMESTAMP());
+--------------------------------+
unix时间戳转换日期格式| DAYOFWEEK(CURRENT_TIMESTAMP()) |
+--------------------------------+
|                3 |
+--------------------------------+
1 row in set
没错就是3 对应ODBC标准中出对应 就是星期⼆;好坑。
写了⼀函数转换:
private function _week($num)
{
$res = '';
switch ($num) {
case :
$res = '星期天';
break;
case :
$res = '星期⼀';
break;
case :
$res = '星期⼆';
break;
case :
$res = '星期三';
break;
case :
$res = '星期四';
break;
case :
$res = '星期五';
break;
case :
$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 |

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。