PHP获取一天起始时间戳,结束时间戳

本文介绍了一种使用PHP获取当前日期时间戳的方法,并演示了如何获取当天的开始和结束时间戳。通过mktime函数结合date函数,可以精确地获取到指定日期的0时0分0秒及23时59分59秒的时间戳。
<?php
	
	$t=time();//获取当前时间戳
	echo date("Y-m-d h:i:s",$t)."<br />";

	$start=mktime(0,0,0,date("m",$t),date("d",$t),date("Y",$t));
	$end=mktime(23,59,59,date("m",$t),date("d",$t),date("Y",$t));

	echo $start.":".date("Y-m-d h:i:s",$start)."<br />";
	echo $end.":".date("Y-m-d h:i:s",$end)."<br />";


就是这么简单。

PS:不要被$start的格式化输出骗了,虽然显示的是20xx-xx-xx  12:00:00

但其实是00:00:00来着,可以$start减一再格式化输出试试。

### 使用不同编程语言获取当前月份的开始结束时间戳 #### Flutter (Dart) 在Flutter中,可以利用`DateTime`类来精确地获得当前月份的第一天一天时间戳。 ```dart void getMonthStartEnd() { DateTime now = DateTime.now(); // 获取本月第一天的日期时间并转换成时间戳 int startOfMonthTimestamp = DateTime(now.year, now.month, 1).millisecondsSinceEpoch; // 获取下个月第一天减去一秒即为本月后时刻,并转换成时间戳 int endOfMonthTimestamp = DateTime(now.year, now.month + 1, 0, 23, 59, 59).millisecondsSinceEpoch; print('本月开始时间戳:$startOfMonthTimestamp'); print('本月结束时间戳:$endOfMonthTimestamp'); } ``` [^1] #### PHP PHP提供了多种内置函数用于操作日期时间。下面是如何计算当前月份起始与终止时间戳的方法: ```php <?php // 获取当前日期对象 $date = new DateTime(); // 设置到月初零点整 $startOfMonth = clone $date; $startOfMonth->modify('first day of this month')->setTime(0, 0); // 设置到月末后一秒 $endOfMonth = clone $date; $endOfMonth->modify('last day of this month')->setTime(23, 59, 59); echo "本月开始时间戳:" . $startOfMonth->getTimestamp() . "\n"; echo "本月结束时间戳:" . $endOfMonth->getTimestamp() . "\n"; ?> ``` [^4] #### Python Python同样支持方便的操作日期的功能,这里展示如何使用`datetime`模块完成同样的任务。 ```python from datetime import datetime, timedelta def get_month_start_end(): today = datetime.today() # 获得当月一号凌晨作为起点 first_day_of_month = today.replace(day=1,hour=0,minute=0,second=0,microsecond=0) # 如果不是十二月,则加一个月再回到前一天晚上十一点五十九分;如果是十二月则需特别处理 if today.month == 12: last_day_of_month = first_day_of_month.replace(year=today.year+1,month=1)-timedelta(days=1) else: next_month_first_day = first_day_of_month.replace(month=today.month+1) last_day_of_month = next_month_first_day-timedelta(microseconds=1) print(f'本月开始时间戳:{int(first_day_of_month.timestamp())}') print(f'本月结束时间戳:{int(last_day_of_month.timestamp())}') if __name__ == '__main__': get_month_start_end() ``` [^5]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值