PHP时间戳和日期的相互转换

不管是进行统计还是在平常的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(23,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






  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值