PHP 获取今天,明天,本周,下周,本月,下个月 时间戳

PHP获取今天与明天,本周,下周时间戳的方法(为了方便检查默认转为日期,把最外层的date函数去掉获得的就是时间戳)


echo '当前时间'.date("Y-m-d H:i:s",time())."<br/>";

//今天
$start = date('Y-m-d H:i:s', mktime(0, 0, 0, date('m'), date('d'), date('Y')));
$end   = date('Y-m-d H:i:s', mktime(23, 59, 59, date('m'), date('d'), date('Y')));
echo '今天 开始日期-结束日期'.$start.'-'.$end;echo"<br/>";

//明天
$start = date('Y-m-d H:i:s', mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')));
$end   = date('Y-m-d H:i:s', mktime(23, 59, 59, date('m'), date('d') + 1, date('Y')));
echo '明天 开始日期-结束日期'.$start.'-'.$end;echo"<br/>";

//本周   date('d')-date('w')+1  date('d')==20号,date('w')==星期3,20-3+1=18,18号是周一 “当前时间2019年2月20日22:31:55”
$start = date('Y-m-d H:i:s', mktime(0, 0, 0, date('m'), date('d')-date('w')+1, date('Y')));
$end   = date('Y-m-d H:i:s', mktime(23, 59, 59, date('m'), date('d')-date('w')+7, date('Y')));
echo '本周 开始日期-结束日期'.$start.'-'.$end;echo"<br/>";

//下周   date('d')-date('w')+1  date('d')==20号,date('w')==星期3,20-3+8=25,25号是下周一 “当前时间2019年2月20日22:31:55”
$start = date('Y-m-d H:i:s', mktime(0, 0, 0, date('m'), date('d')-date('w')+8, date('Y')));
$end   = date('Y-m-d H:i:s', mktime(23, 59, 59, date('m'), date('d')-date('w')+14, date('Y')));
echo '下周 开始日期-结束日期'.$start.'-'.$end;echo"<br/>";

//本月
$start = date('Y-m-d H:i:s', mktime(0, 0, 0, date('m'), 1, date('Y')));
$end   = date('Y-m-d H:i:s', mktime(23, 59, 59, date('m'), date('t'), date('Y')));
echo '本月 开始日期-结束日期'.$start.'-'.$end;echo"<br/>";

//下个月
$start = date('Y-m-d H:i:s', mktime(0, 0, 0, date('m')+1, 1, date('Y')));
$day= date('t',strtotime($start));
$end   = date('Y-m-d H:i:s', mktime(23, 59, 59, date('m')+1,$day , date('Y')));
echo '下个月 开始日期-结束日期'.$start.'-'.$end;echo"<br/>";


运行结果





PHP mktime函数参数



hour 可选。规定小时。

minute 可选。规定分钟。

second 可选。规定秒。

month 可选。规定用数字表示的月。

day 可选。规定天。

year 可选。规定年。在某些系统上,合法值介于 1901 - 2038 之间。不过在 PHP 5 中已经不存在这个限制了。

is_dst 可选。如果时间在日光节约时间(DST)期间,则设置为1,否则设置为0,若未知,则设置为-1。(自 PHP 5.1.0 起,本参数已被废弃。应该使用新的时区处理特性来替代。)

PHP 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"

Pasa吴技术博客
请先登录后发表评论
  • latest comments
  • 总共0条评论