php获取今日、昨日、本周、本月 日期方法

开发工作中可能会需要做一些统计数据,例如今日、昨日、最近7天、最近30天的订单量,或一个月之前、一个月之后的日期等,通常我们也会需要获取到某一天的开始时间戳或结束时间戳。strtotime()、mkdir()为输出时间戳,date()为输出具体日期:

首先说明一下date()函数的格式(timestamp为时间戳):

date('Y-m-d',timestamp); //输出年-月-日date('Y-m-d H:i:s',timestamp); //输出年-月-日 时:分:秒

php获取今天日期

date("Y-m-d",strtotime("today")); //strtotime(‘today’)输出今天的开始时间戳// 或date("Y-m-d",time()); //time()输出当前秒时间戳// 或date("Y-m-d"); //第二个参数不填默认当前时间

php获取昨天日期

date("Y-m-d",strtotime("-1 day")); // 或 date("Y-m-d",strtotime("yesterday"));

php获取明天日期

date("Y-m-d",strtotime("+1 day"));// 或 date("Y-m-d",strtotime("tomorrow "));

php获取7天后日期

date("Y-m-d",strtotime("+7 day"));

php获取30天后日期

date("Y-m-d",strtotime("+30 day"));

php获取一周后日期

date("Y-m-d",strtotime("+1 week"));

php获取本周起始日期

echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"))),"\n";echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"))),"\n";

 

php获取一个月后日期

date("Y-m-d",strtotime("+1 month"));

php获取一个月前日期

date("Y-m-d",strtotime("last month")); // 或 date("Y-m-d",strtotime("-1 month"));

php获取一年后日期

date("Y-m-d",strtotime("+1 year"));

php获取一周零两天四小时五分钟两秒后时间

date("Y-m-d H:i:s",strtotime("+1 week 2 days 4 hours 5 minute 2 seconds"));
  • php获取下个星期五日期 (下周五这个有时会出问题,比如现在还不到周五,这样得到的下周五的时间会和本周五一样)

date("Y-m-d",strtotime("next Friday"));
  • php获取上个周一日期

date("Y-m-d",strtotime("last Monday"));

php获取今天起止时间戳

date('Y-m-d 00:00:00');// 或mktime(0,0,0,date('m'),date('d'),date('Y'));

php获取昨天起止时间戳

date('Y-m-d 00:00:00',strtotime("-1 day"));// 或mktime(0,0,0,date('m'),date('d')-1,date('Y'));
  • php获取上周起止时间戳

// 上周开始$begin = mktime(0, 0, 0, date('m'), date('d') - date('w') + 1 - 7, date('Y'));date('Y-m-d H:i:s', $begin);// 上周结束$end = mktime(23, 59, 59, date('m'), date('d') - date('w') + 7 - 7, date('Y'));date('Y-m-d H:i:s', $end);

php获取本月起始时间戳

date('Y-m-01 00:00:00');// 或mktime(0,0,0,date('m'),1,date('Y'));

php获取本月结束时间戳 (注意 t 参数的妙用,获取本月包含的天数)

date('Y-m-t 23:59:59');// 或mktime(23,59,59,date('m'),date('t'),date('Y'));

因为date函数非常强大,还可以获取其他格式的数据:

格式化方式说明
Y年。4位数字年,如1999
y年。二位数字,如:99
m数字月份,前面有前导0,如01。n 为无前导0数字月份
F月份,完整的文本格式,例如 January 或者 March
M三个字母缩写表示的月份,例如 Jan 或者 Mar
d月份中的第几天,前面有前导0,如03。j 为无前导0的天数
w星期中的第几天,以数字表示,0表示星期天
z年份中的第几天,范围0-366
W年份中的第几周,如第32周
H24小时格式,有前导0,h为12小时格式
G24小时格式,无前导0,g为对应12小时格式
i分钟格式,有前导0
s秒格式,有前导0
A大写上下午,如AM,a为小写
tt - 给定月份中包含的天数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值