/今天/
select from 表名 where to_days(时间字段) = to_days(now());
/昨天/
select from 表名 where to_days(now())-to_days(时间字段) = 1;
/近7天/
select from 表名 where date_sub(curdate(), interval 7 day) <= date(时间字段);
/查询距离当前现在6个月的数据/
select from 表名 where 时间字段 between date_sub(now(),interval 6 month) and now();
/查询当前这周的数据/
select from 表名 where yearweek(date_format(时间字段,'%Y-%m-%d')) = yearweek(now());
/查询上周的数据/
select from 表名 where yearweek(date_format(时间字段,'%Y-%m-%d')) = yearweek(now())-1;
/查询当前月份的数据/
select from 表名 where date_format(时间字段,'%Y-%m')=date_format(now(),'%Y-%m');
/查询上个月的数据/
select from 表名 where date_format(时间字段,'%Y-%m')=date_format(date_sub(curdate(), interval 1 month),'%Y-%m');
其它获取类似以上的代码显示
strtotime(time,now); strtotime的语法,规定只能是一定条件下的日期字符串格式,如果想获得2019年的年初时间的话,最好使用2019-01-01这种格式
如果想直输入2019的情况下,那就要自己封装一个函数,来进行 *** 作。
PHP计算一年多少个星期和每周的开始和结束日期方法如下:
方法一:
<php
header("Content-type:text/html;charset=utf-8");
date_default_timezone_set("Asia/Shanghai");
$year = (int)$_GET['year'];
$week = (int)$_GET['week'];
$weeks = date("W", mktime(0, 0, 0, 12, 28, $year));
echo $year '年一共有' $weeks '周<br />';
if ($week > $weeks || $week <= 0)
{
$week = 1;
}
if ($week < 10)
{
$week = '0' $week;
}
$timestamp['start'] = strtotime($year 'W' $week);
$timestamp['end'] = strtotime('+1 week -1 day', $timestamp['start']);
echo $year '年第' $week '周开始时间戳:' $timestamp['start'] '<br />';
echo $year '年第' $week '周结束时间戳:' $timestamp['end'] '<br />';
echo $year '年第' $week '周开始日期:' date("Y-m-d", $timestamp['start']) '<br />';
echo $year '年第' $week '周结束日期:' date("Y-m-d", $timestamp['end']);
>
方法二: <php
header("Content-type:text/html;charset=utf-8");
function getIsoWeeksInYear($year)
{
$date = new DateTime;
$date->setISODate($year, 53);
return ($date->format("W") === "53" 53 : 52);
}
function weekday($custom_date)
{
$week_start = date('d-m-Y', strtotime('this week monday', $custom_date));
$week_end = date('d-m-Y', strtotime('this week sunday', $custom_date));
$week_array[0] = $week_start;
$week_array[1] = $week_end;
return $week_array;
}
echo '<br> Weeks in 2013<br>' getIsoWeeksInYear(2013);
$weekday = weekday(strtotime(date('d-m-Y', strtotime('5-8-2013'))));
echo '<br> 10-8-2013';
echo '<br>Start: ' $weekday[0];
echo '<br>End: ' $weekday[1];
>
或者方法三:
function get_week($year) {
$year_start = $year "-01-01";
$year_end = $year "-12-31";
$startday = strtotime($year_start);
if (intval(date('N', $startday)) != '1') {
$startday = strtotime("next monday", strtotime($year_start)); //获取年第一周的日期
}
$year_mondy = date("Y-m-d", $startday); //获取年第一周的日期
$endday = strtotime($year_end);
if (intval(date('W', $endday)) == '7') {
$endday = strtotime("last sunday", strtotime($year_end));
}
$num = intval(date('W', $endday));
for ($i = 1; $i <= $num; $i++) {
$j = $i -1;
$start_date = date("Y-m-d", strtotime("$year_mondy $j week "));
$end_day = date("Y-m-d", strtotime("$start_date +6 day"));
$week_array[$i] = array (
str_replace("-",
"",
$start_date
), str_replace("-", "", $end_day));
}
return $week_array;
}
函数get_week()通过传入参数$year年份,获取当年第一天和最后一天所在的周数,计算第一周的日期,通过循环获取每一周的第一天和最后一天的日期。最后返回是一个数组。
想得到指定周数的开始日期和结束日期,比如2011年第18周的开始日期和结束日期,代码如下:
复制代码 代码如下:
$weeks = get_week(2011);
echo '第18周开始日期:'$weeks[18][0]'';
echo '第18周结束日期:'$weeks[18][1];
最后输出结果:
第18周开始日期:20110502
第18周结束日期:20110508
PHP通过年份查询属相示例代码如下,具体逻辑体现在代码中。
<php//判断是否为日期格式,默认时间格式为Y-m-d
function is_date($dateStr,$fmt="Y-m-d"){
$dateArr = explode("-",$dateStr);
if(empty($dateArr)){
return false;
}
foreach($dateArr as $val){
if(strlen($val)<2){
$val="0"$val;
}
$newArr[]=$val;
}
$dateStr =implode("-",$newArr);
$unixTime=strtotime($dateStr);
$checkDate= date($fmt,$unixTime);
if($checkDate==$dateStr)
return true;
else
return false;
}
//通过出生年月获取属相
function getShuXiang($bithdayDate){
//判断输入日期格式
if(!is_date($bithdayDate)){
echo "日期输入错误,请检查!";
}
//1900年是鼠年
$data = array('鼠','牛','虎','兔','龙','蛇','马','羊','猴','鸡','狗','猪');
$index = ($bithdayDate-1900)%12;
return $data[$index];
}
echo "属相:"getShuXiang("1989-05-19");
//属相:蛇
>
我也是来找答案的,结果发现两位仁兄都差了点。
那就让我补上这最后这点吧
function getFirstDayOfWeek($year,$week)
{
$first_day = strtotime($year"-01-01");
$is_monday = date("w", $first_day) == 1;
$week_one_start = !$is_monday strtotime("last monday", $first_day) : $first_day;
return $year'第'$week'周开始天:'date('Y-m-d',$week_one_start+(3600247($week-1)))
';结束天为:'date('Y-m-d',$week_one_start+((360024)(7($week-1)+6)));
}
进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:cd curl执行phpize生成编译文件!
phpize在PHP安装目录的bin目录/usr/local/php5/bin/phpize运行时,
可能会报错:Cannot find autoconf Please check your autoconf installation andthe $PHP_AUTOCONFenvironment variable is set correctly and then rerun thisscript,需要安装autoconf:yum install autoconf(RedHat或者CentOS)、apt-get installautoconf(Ubuntu Linux)!
执行/usr/local/php5/bin/php -v这个命令时,php会去检查配置文件是否正确,
如果有配置错误,这里会报错,可以根据错误信息去排查!
天干是指: 甲 乙 丙 丁 戊 己 庚 辛 壬 癸;
地支是指:子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥。干和支组合在一起常用来纪年。
php获取指定日期对应干支代码如下:
<phpheader("Content-type:text/html;charset=utf-8;");
function get_ganzhi($date){
$date=strtotime($date);
$year = date('Y', $date);
$month = date('m', $date);
$day = date('d', $date);
$data = array(
array('甲', '乙', '丙', '丁', '戊', '己', '庚', '辛', '壬', '癸'),
array('子', '丑', '寅', '卯', '辰', '巳', '午', '未', '申', '酉', '戌', '亥')
);
$num = $year - 1900 + 36;
return $result = $data[0][$num % 10] $data[1][$num % 12]"年";
}
echo get_ganzhi("2016-07-08");
//丙申年
PHP 中的 strtotime() 函数可以实现
strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。
strtotime(time,now)
time 规定要解析的时间字符串。
now 用来计算返回值的时间戳。如果省略该参数,则使用当前时间。
成功则返回时间戳,否则返回 FALSE。在 PHP 510 之前本函数在失败时返回 -1。
例子
<php
echo(strtotime("2015-05-22 15:00:00"));
>
以上就是关于如何用PHP 获取今天之前,本周之前,本月之前,本年之前,今天,本周,本月,本年的数据呢全部的内容,包括:如何用PHP 获取今天之前,本周之前,本月之前,本年之前,今天,本周,本月,本年的数据呢、php strtotime 如何输出年份时间戳、PHP计算一年多少个星期和每周的开始和结束日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)