date_default_timezone_set('PRC'); //默认时区
echo "今天:",date("Y-m-d",time()),"
";
echo "今天:",date("Y-m-d",strtotime("18 june 2008")),"
";
echo "昨天:",date("Y-m-d",strtotime("-1 day")), "
";
echo "明天:",date("Y-m-d",strtotime("+1 day")), "
";
echo "一周后:",date("Y-m-d",strtotime("+1 week")), "
";
echo "一周零两天四小时两秒后:",date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")), "
";
echo "下个星期四:",date("Y-m-d",strtotime("next Thursday")), "
";
echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."
";
echo "一个月前:".date("Y-m-d",strtotime("last month"))."
";
echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."
";
echo "十年后:".date("Y-m-d",strtotime("+10 year"))."
";
$a = date("w",time()); //获取今天是本周 周几
$startweekdate =date("Y-m-d H:i:s",strtotime($today)-($a-1)*24*3600); //获取本周周一
$endweekdate =date("Y-m-d H:i:s",strtotime($today)+(7-$a+1)*24*3600); //获取本周最后一天 并且为下周的第一天
$endnextweekdate=date("Y-m-d",strtotime($endweekdate)+7*24*3600);//下下周的最后一天
?>
$d = time(); //待处理的日期
$w = date("w",$d); //这天是星期几
$d0 = date("Y-m-d",strtotime("-$w day",$d)); //周开始
$d6 = date("Y-m-d",strtotime((6-$w)." day",$d)); //周结束
?>
$d = time(); //待处理的日期
$w = date("w",$d); //这天是星期几
$d0 = mktime (0,0,0,date("m"),date("d") - $w,date("Y"));//周开始
$d0 = mktime (0,0,0,date("m"),date("d") - $w + 6,date("Y"));//周结束
?>
$date = time();
$w = date("w",$d);
$d0 = date("Y-m-d",strtotime("-$w day",$date)); //周开始
$d6 = date("Y-m-d",strtotime((6-$w)." day",$date)); //周结束
?>
$date1 = date("Y-m-d",strtotime("Sunday")); //周开始
$date2 = date("Y-m-d",strtotime("Saturday")); //周结束
$date1 = date("Y-m-d",strtotime("last Sunday")); //上周开始
$date2 = date("Y-m-d",strtotime("last Saturday")); //上周结束
//得到系统的年月
$tmp_date=date("Ym");
//切割出年份
$tmp_year=substr($tmp_date,0,4);
//切割出月份
$tmp_mon =substr($tmp_date,4,2);
$tmp_nextmnoth=mktime(0,0,0,$tmp_mon+1,1,$tmp_year);
$tmp_forwardmnoth=mktime(0,0,0,$tmp_mon-1,1,$tmp_year);
//得到当前月的下一个月
$fm_next_mnoth=date("Ym",$tmp_nextmonth);
//得到当前月的上一个月
$fm_forward_mnoth=date("Ym",$tmp_forwardmonth);
?>
$d=array("日","一","二","三","四","五","六");
$whatday="星期".$d[date("w",strtotime($today))]; //获取今天星期几
$time = abs((strtotime("2008-12-25") - strtotime(date("Y-m-d")))/86400);/获取两个日期之间的天数差
?>
对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型。
这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内:
mysql> SELECT something FROM table
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
DAYOFWEEK(date)
返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。
mysql> select DAYOFWEEK('1998-02-03');
-> 3
WEEKDAY(date)
返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。
mysql> select WEEKDAY('1997-10-04 22:23:00');
-> 5