曲奇饼 发表于 2019-11-14 21:30:59

PHP获取今天、昨天、明天的日期


<?php
echo "今天:".date("Y-m-d")."<br>";      
echo "昨天:".date("Y-m-d",strtotime("-1 day")), "<br>";      
echo "明天:".date("Y-m-d",strtotime("+1 day")). "<br>";   
echo "一周后:".date("Y-m-d",strtotime("+1 week")). "<br>";      
echo "一周零两天四小时两秒后:".date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")). "<br>";      
echo "下个星期四:".date("Y-m-d",strtotime("next Thursday")). "<br>";      
echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."<br>";      
echo "一个月前:".date("Y-m-d",strtotime("last month"))."<br>";      
echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."<br>";      
echo "十年后:".date("Y-m-d",strtotime("+10 year"))."<br>";      
?>

strtotime()函数的作用是将日期时间描述解析为 Unix 时间戳

int strtotime ( string time [, int now] )

PHP星期几获取代码:

date("l");
//data就可以获取英文的星期比如Sunday
date("w");
//这个可以获取数字星期比如123,注意0是星期日
获取中文星期可以这样

$weekarray=array("日","一","二","三","四","五","六");
echo "星期".$weekarray;
获取指定日期是:

$weekarray=array("日","一","二","三","四","五","六");
echo "星期".$weekarray;
因为date函数非常强大,他完全可以胜任一切这样的工作我附个手册里的表吧

a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31"
D - 星期几,三个英文字母; 如: "Fri"
F - 月份,英文全名; 如: "January"
h - 12 小时制的小时; 如: "01" 至 "12"
H - 24 小时制的小时; 如: "00" 至 "23"
g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12"
G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23"
i - 分钟; 如: "00" 至 "59"
j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31"
l - 星期几,英文全名; 如: "Friday"
m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12"
n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12"
M - 月份,三个英文字母; 如: "Jan"
s - 秒; 如: "00" 至 "59"
S - 字尾加英文序数,二个英文字母; 如: "th","nd"
t - 指定月份的天数; 如: "28" 至 "31"
U - 总秒数
w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六)
Y - 年,四位数字; 如: "1999"
y - 年,二位数字; 如: "99"
z - 一年中的第几天; 如: "0" 至 "365"

mickeyort 发表于 2021-5-22 16:18:55

<?php

    echo date("Ymd",strtotime("now")), "\n";
    echo date("Ymd",strtotime("-1 week Monday")), "\n";
    echo date("Ymd",strtotime("-1 week Sunday")), "\n";
    echo date("Ymd",strtotime("+0 week Monday")), "\n";
    echo date("Ymd",strtotime("+0 week Sunday")), "\n";

    echo "*********第几个月:";
    echo date('n');
    echo "*********本周周几:";
    echo date("w");
    echo "*********本月天数:";
    echo date("t");
    echo "*********";

    echo '<br>上周起始时间:<br>';
    echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("Y"))),"\n";
    echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y"))),"\n";
    echo '<br>本周起始时间:<br>';
    echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"))),"\n";
    echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"))),"\n";

    echo '<br>上月起始时间:<br>';
    echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-1,1,date("Y"))),"\n";
    echo date("Y-m-d H:i:s",mktime(23,59,59,date("m") ,0,date("Y"))),"\n";
    echo '<br>本月起始时间:<br>';
    echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1,date("Y"))),"\n";
    echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("t"),date("Y"))),"\n";

    $season = ceil((date('n'))/3);//当月是第几季度
    echo '<br>本季度起始时间:<br>';
    echo date('Y-m-d H:i:s', mktime(0, 0, 0,$season*3-3+1,1,date('Y'))),"\n";
    echo date('Y-m-d H:i:s', mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$season*3,1,date("Y"))),date('Y'))),"\n";

    $season = ceil((date('n'))/3)-1;//上季度是第几季度
    echo '<br>上季度起始时间:<br>';
    echo date('Y-m-d H:i:s', mktime(0, 0, 0,$season*3-3+1,1,date('Y'))),"\n";
    echo date('Y-m-d H:i:s', mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$season*3,1,date("Y"))),date('Y'))),"\n";

    echo '<br>本年度起止时间:<br>';
    echo date('Y-m-d',strtotime(date("Y",time())."-1"."-1")); //本年开始
    echo date('Y-m-d',strtotime(date("Y",time())."-12"."-31")); //本年结束
//php获取今日开始时间戳和结束时间戳

$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));

$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;

//php获取昨日起始时间戳和结束时间戳

$beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));

$endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;

//php获取上周起始时间戳和结束时间戳

$beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));

$endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));

//php获取本月起始时间戳和结束时间戳

$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));

$endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));




开发过程中,常用日期处理函数,时间戳处理函数等,如下讲解:
<?php
echo date('Y-m-d h:i:s',time());

//运行结果(年月日时分秒,“-”间隔):2014-09-12 06:28:32

echo date('Y-m-d',time());

//运行结果(年月日,“-”间隔):2014-09-12

echo date('Y-m-d',strtotime(date('Y-m-d', time()-86400)));

//运行结果(当前日期前一天的年月日,“-”间隔):2014-09-11

echo date('Ymd',time());

//运行结果(年月日,无间隔):20140912

echo date('m-d',time());

//运行结果(月日,“-”间隔):09-12

echo str_replace("-","月",date('m-d',time()-date('w',time())*86400))."日";

//运行结果(月日,汉字显示间隔):09月12日

echo date('w',time());

//运行结果(星期几):5

echo time();

//运行结果(当前日期时间的秒数):1410503809

echo strtotime(date('Y-m-d',time()));

//运行结果(当前日期秒数,具体到天):1410503809

echo date('Y-m-d',strtotime(date('Y-m-d', time()))-date('w',strtotime(date('Y-m-d', time())))*86400);

//运行结果(当前日期所属自然周的起始日期即周日的日期,具体到天,“-”间隔):2014-09-07



页: [1]
查看完整版本: PHP获取今天、昨天、明天的日期