位置:首页 > PHP > PHP功能函数 > 时间处理函数 >

PHP 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法

字号+ 作者:micloud 来源:www.seoalphas.com 2020-03-10 17:09 浏览量:2200

php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法,主要使用到了 php 的时间函数 mktime。下面首先还是直奔主题以示例说明如何使用 mktime 获取今日、昨日、上周、本月的起始时间戳和结束时间戳,然后在介绍一下 mktime 函数作用和用法:

//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获取本周起始时间
$beginWeek = mktime(0,0,0,date("m"),date("d")-date("w")+1,date("Y"));
$endWeek = mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"));
//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 mktime() 函数用于返回一个日期的 Unix 时间戳。

语法

mktime(hour,minute,second,month,day,year,is_dst)


参数 描述
hour   可选。规定小时
minute   可选。规定分钟
second   可选。规定秒
month   可选。规定用数字表示的月
day   可选。规定天
year   可选。规定年。在某些系统上,合法值介于 1901 - 2038 之间。不过在 PHP 5 中已经不存在这个限制了
is_dst

  可选。如果时间在日光节约时间(DST)期间,则设置为1,否则设置为0,若未知,则设置为-1。

  自 5.1.0 起,is_dst 参数被废弃。因此应该使用新的时区处理特性

用法

参数总是表示 GMT 日期,因此 is_dst 对结果没有影响。

参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。

注意在 PHP 5.1 之前,如果该函数的参数非法,则会返回 false。

另外需要注意的是该函数对于日期运算和验证非常有用。它可以自动校正越界的输入,如:

echo(date("M-d-Y",mktime(0,0,0,12,36,2001)));


//获取今天00:00
$todaystart = strtotime(date('Y-m-d'.'00:00:00',time()));
//获取今天24:00
$todayend = strtotime(date('Y-m-d'.'00:00:00',time()+3600*24));
//统计今天注册的用户
$todayuser['create_time'] = array(between,"$todaystart,$todayend");
$todaysum = $Users->where($todayuser)->count();
//获取昨天00:00
$timestart = strtotime(date('Y-m-d'.'00:00:00',time()-3600*24));
//获取今天00:00
$timeend = strtotime(date('Y-m-d'.'00:00:00',time()));
//统计昨天注册的用户
$map['create_time'] = array(between,"$timestart,$timeend");
$daycount = $Users->where($map)->count();
$this->assign("todaysum",$todaysum);
$this->assign("daycount",$daycount);


<?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[date("w")];

获取指定日期是:

$weekarray=array("日","一","二","三","四","五","六");

echo "星期".$weekarray[date("w","2011-11-11")];

因为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"


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • php中的时间戳与javascript中的时间戳的比较

    php中的时间戳与javascript中的时间戳的比较

    浏览次数:3338

  • PHP时间日期操作增减(date strtotime) 加一天 加一月

    PHP时间日期操作增减(date strtotime) 加一天 加一月

    浏览次数:2887

  • php根据出生日期计算年龄函数

    php根据出生日期计算年龄函数

    浏览次数:2871

  • PHP设置时区函数:date_default_timezone_set()

    PHP设置时区函数:date_default_timezone_set()

    浏览次数:2847

网友点评
评论区域