博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP获取上周、本周、上月、本月、本季度、上季度时间
阅读量:7124 次
发布时间:2019-06-28

本文共 5502 字,大约阅读时间需要 18 分钟。

echo date("Y-m-d",strtotime("now"));echo "
";echo date("Y-m-d",strtotime("-1 week Monday"));echo "
";echo date("Y-m-d",strtotime("-1 week Sunday"));echo "
";echo date("Y-m-d",strtotime("+0 week Monday"));echo "
";echo date("Y-m-d",strtotime("+0 week Sunday"));echo "
";echo "*********第几个月:";echo date('n');echo "
";echo "*********本周周几:";echo date("w");echo "
";echo "*********本月天数:";echo date("t");echo "
";echo "*********";echo '
上周起始时间:
';echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("Y")));echo "
";echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y")));echo "
";echo '
本周起始时间:
';echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")));echo "
";echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y")));echo "
";//从第几周找出该周的开始日期和结束日期$dayNumber = date('W') * 7;$weekDayNumber = date("w", mktime(0, 0, 0, 1, $dayNumber, date("Y")));//当前周的第几天$startNumber = $dayNumber - $weekDayNumber;echo date("Y-m-d", mktime(0, 0, 0, 1, $startNumber + 1, date("Y")));//开始日期echo "
";echo date("Y-m-d", mktime(0, 0, 0, 1, $startNumber + 7, date("Y")));//结束日期echo "
";echo '
上月起始时间:
';echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-1,1,date("Y")));echo "
";echo date("Y-m-d H:i:s",mktime(23,59,59,date("m") ,0,date("Y")));echo '
本月起始时间:
';echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1,date("Y")));echo "
";echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("t"),date("Y")));echo "
";$season = ceil((date('n'))/3);//当月是第几季度echo '
本季度起始时间:
';echo date('Y-m-d H:i:s', mktime(0, 0, 0,$season*3-3+1,1,date('Y')));echo "
";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')));echo "
";$season = ceil((date('n'))/3)-1;//上季度是第几季度echo '
上季度起始时间:
';echo date('Y-m-d H:i:s', mktime(0, 0, 0,$season*3-3+1,1,date('Y')));echo "
";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')));

  

/**     * 返回今日开始和结束的时间戳      *      * @return array      */    public static function today() {        return [            mktime(0, 0, 0, date('m'), date('d'), date('Y')),            mktime(23, 59, 59, date('m'), date('d'), date('Y'))        ];    }    /**     * 返回昨日开始和结束的时间戳      *      * @return array      */    public static function yesterday() {        $yesterday = date('d') - 1;        return [            mktime(0, 0, 0, date('m'), $yesterday, date('Y')),            mktime(23, 59, 59, date('m'), $yesterday, date('Y'))        ];    }    /**     * 返回本周开始和结束的时间戳      *      * @return array      */    public static function week() {        $timestamp = time();        return [            strtotime(date('Y-m-d', strtotime("this week Monday", $timestamp))),            strtotime(date('Y-m-d', strtotime("this week Sunday", $timestamp))) + 24 * 3600 - 1        ];    }    /**     * 返回上周开始和结束的时间戳      *      * @return array      */    public static function lastWeek() {        $timestamp = time();        return [            strtotime(date('Y-m-d', strtotime("last week Monday", $timestamp))),            strtotime(date('Y-m-d', strtotime("last week Sunday", $timestamp))) + 24 * 3600 - 1        ];    }    /**     * 返回本月开始和结束的时间戳      *      * @return array      */    public static function month($everyDay = false) {        return [            mktime(0, 0, 0, date('m'), 1, date('Y')),            mktime(23, 59, 59, date('m'), date('t'), date('Y'))        ];    }    /**     * 返回上个月开始和结束的时间戳      *      * @return array      */    public static function lastMonth() {        $begin = mktime(0, 0, 0, date('m') - 1, 1, date('Y'));        $end = mktime(23, 59, 59, date('m') - 1, date('t', $begin), date('Y'));        return [$begin, $end];    }    /**     * 返回今年开始和结束的时间戳      *      * @return array      */    public static function year() {        return [            mktime(0, 0, 0, 1, 1, date('Y')),            mktime(23, 59, 59, 12, 31, date('Y'))        ];    }    /**     * 返回去年开始和结束的时间戳      *      * @return array      */    public static function lastYear() {        $year = date('Y') - 1;        return [            mktime(0, 0, 0, 1, 1, $year),            mktime(23, 59, 59, 12, 31, $year)        ];    }    public static function dayOf() {    }    /**     * 获取几天前零点到现在/昨日结束的时间戳      *      * @param int $day 天数      * @param bool $now 返回现在或者昨天结束时间戳      * @return array      */    public static function dayToNow($day = 1, $now = true) {        $end = time();        if (!$now) {            list($foo, $end) = self::yesterday();        }        return [            mktime(0, 0, 0, date('m'), date('d') - $day, date('Y')),            $end        ];    }    /**     * 返回几天前的时间戳      *      * @param int $day      * @return int      */    public static function daysAgo($day = 1) {        $nowTime = time();        return $nowTime - self::daysToSecond($day);    }    /**     * 返回几天后的时间戳      *      * @param int $day      * @return int      */    public static function daysAfter($day = 1) {        $nowTime = time();        return $nowTime + self::daysToSecond($day);    }    /**     * 天数转换成秒数      *      * @param int $day      * @return int      */    public static function daysToSecond($day = 1) {        return $day * 86400;    }    /**     * 周数转换成秒数      *      * @param int $week      * @return int      */    public static function weekToSecond($week = 1) {        return self::daysToSecond() * 7 * $week;    }

  

转载于:https://www.cnblogs.com/tonnytong/p/8360423.html

你可能感兴趣的文章
可视化生信分析利器-Galaxy(第一讲)
查看>>
Java多线程1:进程和线程的区别
查看>>
BugkuCTF 域名解析
查看>>
JVM(二)—GC垃圾回收
查看>>
合并多个Excel文件
查看>>
2018年高教社杯全国大学生数学建模竞赛D题解题思路
查看>>
PHP排序函数
查看>>
如何更专业的 重装系统?
查看>>
Hadoop完全分布式安装Hive
查看>>
开发过程中快速抓包并解析
查看>>
Python网络编程(基础总结 入门经典)
查看>>
轻量应用服务器推出按流量计费的套餐规格
查看>>
Android数据层架构的实现 下篇
查看>>
那些年遇到的后台返回的奇葩json数据
查看>>
1020. 月饼 (25)
查看>>
web前端,使用HTML5+CSS+JS框架有那些好处
查看>>
ora.proxy_advm
查看>>
GitHub在其网站实现中移除对jQuery的使用
查看>>
美国明尼苏达州大学研制出仿生眼原型
查看>>
这些年,我是如何当好一个技术支持的
查看>>