PHP时间戳和日期的相互转换
2017-08-07 20:17
375 查看
不管是进行统计还是在平常的php使用过程中需要使用时间转换的有很多,在这里简单做一下总结:
一、php中时间转换函数
1.strtotime()
语法:strtotime(time,now);
参数:time:必需,规定日期时间字符串
now:可选,规定用来计算返回值的时间戳.如果省略该参数,则使用当前时间
2.date()
语法:date(format,timestamp)
参数:format:必需,规定时间戳的格式
timestamp:可选,规定时间戳,默认是当前时间和日期
二、实例
1.简单示例:使用php获得今天零点的时间戳
$todaytime=strtotime("today"),
可以再使用data("Y-m-d H:i",$todaytime)转换为日期
2.使用实例:php获得今日,昨日,上周,本月,本季度,本年的起始时间戳和结束时间戳
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(2
4000
3,59,59,date('m'),date('t'),date('Y'));
php获取本季度开始时间戳和结束时间戳
$getMonthDays = date("t",mktime(0, 0 , 0,date('n')+(date('n')-1)%3,1,date("Y")));//本季度未最后一月天数
$beginQuarter=mktime(0, 0, 0,date('n')-(date('n')-1)%3,1,date('Y'));
$endQuarter=mktime(23,59,59,date('n')+(date('n')-1)%3,$getMonthDays,date('Y'));
php获取本年开始时间戳和结束时间戳
$beginYear=strtotime(date('Y-01-01',time())),
$endYear=strtotime(date('Y-01-01',time()).'+1 year');
或者
$startYeartime=date('Y-01-01',time());
$endYeartime=date('Y-12-31',time());
$startYear=strtotime("{$startYeartime} 00:00:00");
$endYear=strtotime("{$endYeartime} 23:59:59");
php获取去年开始时间戳和结束时间戳
$beginLastyear=mktime(0,0,0,1,1,date('Y',strtotime("-1 year")));
$endLastyear=mktime(23,59,59,12,date('t',strtotime("December")),date('Y',strtotime("-1
year")));
转载自:php程序员的笔记
地址:http://www.phpernote.com/php-function/635.html
一、php中时间转换函数
1.strtotime()
语法:strtotime(time,now);
参数:time:必需,规定日期时间字符串
now:可选,规定用来计算返回值的时间戳.如果省略该参数,则使用当前时间
2.date()
语法:date(format,timestamp)
参数:format:必需,规定时间戳的格式
timestamp:可选,规定时间戳,默认是当前时间和日期
二、实例
1.简单示例:使用php获得今天零点的时间戳
$todaytime=strtotime("today"),
可以再使用data("Y-m-d H:i",$todaytime)转换为日期
2.使用实例:php获得今日,昨日,上周,本月,本季度,本年的起始时间戳和结束时间戳
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(2
4000
3,59,59,date('m'),date('t'),date('Y'));
php获取本季度开始时间戳和结束时间戳
$getMonthDays = date("t",mktime(0, 0 , 0,date('n')+(date('n')-1)%3,1,date("Y")));//本季度未最后一月天数
$beginQuarter=mktime(0, 0, 0,date('n')-(date('n')-1)%3,1,date('Y'));
$endQuarter=mktime(23,59,59,date('n')+(date('n')-1)%3,$getMonthDays,date('Y'));
php获取本年开始时间戳和结束时间戳
$beginYear=strtotime(date('Y-01-01',time())),
$endYear=strtotime(date('Y-01-01',time()).'+1 year');
或者
$startYeartime=date('Y-01-01',time());
$endYeartime=date('Y-12-31',time());
$startYear=strtotime("{$startYeartime} 00:00:00");
$endYear=strtotime("{$endYeartime} 23:59:59");
php获取去年开始时间戳和结束时间戳
$beginLastyear=mktime(0,0,0,1,1,date('Y',strtotime("-1 year")));
$endLastyear=mktime(23,59,59,12,date('t',strtotime("December")),date('Y',strtotime("-1
year")));
转载自:php程序员的笔记
地址:http://www.phpernote.com/php-function/635.html
相关文章推荐
- PHP时间戳和日期相互转换
- PHP+Mysql日期时间和UNIX时间戳相互转换
- [PHP基础]PHP,日期时间与秒数的相互转换
- PHP时间戳和日期相互转换
- PHP时间戳和日期相互转换
- PHP 时间戳 与 日期的相互转换(含mysql 中直接转换)
- 一片空白 PHP时间戳和日期相互转换
- PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
- js 字符串与数值相互转换,以及时间戳转换成日期形式字符串方法
- Javascript时间戳和日期时间的相互转换
- javascript时间戳和日期字符串相互转换
- js和PHP 时间戳与日期转换
- 下面总结一下js中时间戳与日期格式的相互转换:
- Python 时间戳和日期相互转换
- js时间戳与日期格式的相互转换
- Python四种日期时间表示结构及相互转换
- java 时间戳与日期字符串相互转换
- java 时间戳与日期字符串相互转换
- javascript时间戳和日期字符串相互转换
- Java:日期时间字符串和毫秒相互转换