如何用PHP 获取今天之前,本周之前,本月之前,本年之前,今天,本周,本月,本年的数据呢

如何用PHP 获取今天之前,本周之前,本月之前,本年之前,今天,本周,本月,本年的数据呢,第1张

/今天/

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获取指定日期对应干支代码如下:

<php

header("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计算一年多少个星期和每周的开始和结束日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9278966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存