php获取一些时间实现方法(附代码)

这几天在开发的时候遇到的一些时间上的问题,整理了一下,分享给大家,可以看看,有需要的话可以利用一下。

1.获取上个月第一天及最后一天.

echo date('Y-m-01', strtotime('-1 month'));
echo "<br/>";
echo date('Y-m-t', strtotime('-1 month'));
echo "<br/>";

上面的方法有些问题,根据bg5hfc回复做下修改

//上个月第一天:
echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 month'));// 计算出本月第一天再减一个月

//上个月最后一天:
echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 day')); // 计算出本月第一天再减一天

2.获取当月第一天及最后一天.

$BeginDate=date('Y-m-01', strtotime(date("Y-m-d")));
echo $BeginDate;
echo "<br/>";
echo date('Y-m-d', strtotime("$BeginDate +1 month -1 day"));
echo "<br/>";

3.获取当天年份、月份、日及天数.

echo " 本月共有:".date("t")."天";
echo " 当前年份".date('Y');
echo " 当前月份".date('m');
echo " 当前几号".date('d');
echo "<br/>";

4.使用函数及数组来获取当月第一天及最后一天,比较实用

function getthemonth($date)
{
$firstday = date('Y-m-01', strtotime($date));
$lastday = date('Y-m-d', strtotime("$firstday +1 month -1 day"));
return array($firstday,$lastday);
}
$today = date("Y-m-d");
$day=getthemonth($today);
echo "当月的第一天: ".$day[0]." 当月的最后一天: ".$day[1];
echo "<br/>";

获取本月日期:

function getMonth($date){
  $firstday = date("Y-m-01",strtotime($date));
  $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day"));
  return array($firstday,$lastday);
}

$firstday是月份的第一天,假如$date是2018-2这样的话,$firstday就会是2018-02-01,然后根据$firstday加一个月就是2018-03-01,再减一天就是2018-02-28,用date()和strtotime()真是太方便了。

  获取上月日期:

function getlastMonthDays($date){
  $timestamp=strtotime($date);
  $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01'));
  $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
  return array($firstday,$lastday);
}

上月日期需要先获取一个时间戳,然后在月份上-1就OK了,超智能的date()会把2018-0-1这种东西转换成2017-12-01,太爽了。

获取下月日期:

function getNextMonthDays($date){
  $timestamp=strtotime($date);
  $arr=getdate($timestamp);
  if($arr['mon'] == 12){
    $year=$arr['year'] +1;
    $month=$arr['mon'] -11;
    $firstday=$year.'-0'.$month.'-01';
    $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
  }else{
    $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)+1).'-01'));
    $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
  }
  return array($firstday,$lastday);
}

下月日期的代码看起来比较长一点,因为date()转不了类似2018-13-01这种东西,它会直接回到1970,所以前面需要处理一下12月的问题,除了12月就直接月份+1就OK啦。

总得来说,还是很方便的,日期函数太强大了。

本文来自投稿,不代表科技代码立场,如若转载,请注明出处https://www.cwhello.com/6459.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
上一篇 2018年4月20日 00:00
下一篇 2018年4月25日 09:24

相关推荐

  • PHP处理时间和时区需注意以下三点!

    当被问及是否很难处理日期和时区时,超过 50%的开发人员回答“是”。我的猜测是,那些对这项民意调查说“不”的人要么已经明白了这一点,要么他们没有与必须迎合全球用户的平台/应用程序合作。无论如何,我想创建一篇...

    2022年6月21日
    0142
  • PHP入门指南:PHP和Spark。

    PHP是一种非常流行的服务器端编程语言,因为它简单易学、开放源代码和跨平台。目前,很多大企业都采用PHP语言来构建应用程序,例如Facebook和WordPress等。Spark是一种快速且轻量级的开发框架,可用于构建Web应用...

    2023年5月22日
    04
  • 教你如何精简HTML代码。

    精简HTML代码,是seo优化人员必须要了解的内容之一。因为搜索引擎预处理页面时,第一步的工作就是提取文字内容,多余的格式代码对搜索引擎来说都是一种负担。今天小编小编就来和大家分享一下有关SEO优化如何精简H...

    2023年6月20日
    03
  • PHP直播功能开发教程:项目实战。

    随着社交媒体的流行和直播行业的兴起,越来越多的企业和机构需要开发自己的直播功能。作为一种流行的后端语言,PHP已经成为目前许多直播项目的开发首选。本文将结合项目实战,为大家分享PHP直播功能开发的技巧和...

    2023年5月28日
    00
  • PHP递归思想说明

    说明:在一个函数内部再次有条件调用自己(当前函数),这个时候就称为“递归调用”,即自己调用自己。 代码 图解 注意: 递归调用必须有一个可以退出的条件,否则无法退出递归调用,就会成死归,也就是说必须逐渐的...

    2018年4月7日
    0190
  • 教你使用spatie/async库来写异步的PHP代码

    对于大多数用 PHP 编写的程序,它的唯一目的是执行由多个任务组成的简单进程,其中任务必须按顺序执行,如数据处理。我们总是不得不忍受同步编程的停止和等待。代码执行的同步风格被称为阻塞,这意味着任务将一个...

    2022年6月23日
    0141
  • php跳出语句-continue

    说明:跳过某次循环 案例:输出1-50,然后在第25次时跳过。 //输出1-50,然后再第25次的时候跳过。 for($i=1;$i<=50;$i++){ if($i==25){ continue; } echo $i .' '; }

    2018年3月8日
    0284
  • PHP中的物联网技术。

    随着物联网技术的普及和发展,越来越多的企业开始关注物联网技术的应用和研究。而PHP作为一种广泛应用于Web开发的语言,也可以很好地支持物联网技术的开发。本文将介绍PHP中的物联网技术,包括物联网技术的概念、...

    2023年5月30日
    03

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息