php 获取时间今天明天昨天时间戳

php获取时间今天明天昨天时间戳的实现方法。

使用php获取时间今天明天昨天时间戳
2013-06-20 11:12
<?php
echo "今天:".date("Y-m-d")."<br>";
echo "昨天:".date("Y-m-d",strtotime("-1 day")), "<br>";
echo "明天:".date("Y-m-d",strtotime("+1 day")). "<br>";
echo "一周后:".date("Y-m-d",strtotime("+1 week")). "<br>";
echo "一周零两天四小时两秒后:".date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")). "<br>";
echo "下个星期四:".date("Y-m-d",strtotime("next Thursday")). "<br>";
echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."<br>";
echo "一个月前:".date("Y-m-d",strtotime("last month"))."<br>";
echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."<br>";
echo "十年后:".date("Y-m-d",strtotime("+10 year"))."<br>";
strtotime()函数的作用是将日期时间描述解析为 Unix 时间戳 www.jbxue.com
int strtotime ( string time [, int now] )
?>

本函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数),其值相对于 now 参数给出的时间,如果没有提供此参数则用系统当前时间。
-------------------------------------------------------------------
在PHP里得到前天和昨天的日期的代码
前 天去面试的时候也是这样,不过我当时记不起来了.就记得MYSQL里面的date_sub(now(),'interval 1 day');date('Y/m/d h:i:s',mktime(date('h'), date('i'), date('s'), date('m') , date('d')+1, date('Y')));
--------------------------------------------------------------------------------
先得到今天的UNIXTIME
然后减去一天或两天的秒数
把减后的UNIXTIME格式化成日期。
--------------------------------------------------------------------------------
以下为引用的内容:
<?php
date_default_timezone_set('Asia/Shanghai');
#昨天
echo date("Y/m/d h:i:s",time()-24*60*60);
echo "<br>";
#前天
echo date("Y/m/d h:i:s",time()-2*24*60*60);
?>

方法有很多种啊, 我也介绍一种吧:
date("Y/m/d H:i:s", strtotime("1 days ago"));
date("Y/m/d H:i:s", strtotime("2 days ago"));
--------------------------------------------------------------------------------
date("Y/m/d H:i:s",mktime(0,0,0,date("m"),date("d")-1,date("Y")));
--------------------------------------------------------------------------------

以前算时间总是很烦人,呵呵,学了了下,下面是下个星期现在的时间。
date_default_timezone_set('Asia/Shanghai');
$tmp = time()+60*60*24*7;
print date("m/d/Y H:i:s", $tmp);

再加一个:
$time_yes=localtime(time()-24*60*60, true);
$time_b_yes=localtime(time()-2*24*60*60, true);
$yesterday=$time_yes['tm_mday'];
$the_day_before_yes=$time_b_yes['tm_mday'];

time()-86400 昨天的
<?
//昨天
print date('Y-m-d' , strtotime('-1 day'));
//上星期
print date('Y-m-d' , strtotime('-1 week'));
//上个月
print date('Y-m-d' , strtotime('-1 month'));
//去年
print date('Y-m-d' , strtotime('-1 year'));
?>

strtotime得到一个时间戳, 然后你自己格式化.
strtotime('yesterday');
strtotime('-2 day');

更多有关php时间戳的内容,请参考文章:

php中的UNIX时间戳函数strtotime
php 时间戳函数总结与示例
php时间戳函数 strtotime 应用实例
php时间戳应用举例
php时间转换Unix时间戳的代码
学习php中时间戳和日期格式的转换

### 如何获取当天零点的时间戳 #### 使用Python实现 在Python中,可以利用`datetime`模块来计算当天零点的时间戳。具体方法是先得到当前日期的对象,再将其设置为午夜时刻(即00:00),最后转换成时间戳形式。 ```python from datetime import datetime, timedelta today_start = datetime.combine(datetime.today(), datetime.min.time()) timestamp_at_midnight = int(today_start.timestamp()) print(f"今天的零点时间戳为:{timestamp_at_midnight}") ``` 这段代码首先创建了一个表示今日凌晨时间对象[^1],接着通过`.timestamp()`函数将这个时间点转化为Unix时间戳并打印出来。 #### Java中的解决方案 对于Java而言,则可以通过下面的方式快速求得: ```java long now = System.currentTimeMillis(); long daySecond = 24L * 60 * 60 * 1000; // 减去时区偏移量以及一天内的剩余毫秒数 long zeroTodayTimestamp = now - (now + TimeZone.getDefault().getRawOffset()) % daySecond; System.out.println("今天的零点时间戳:" + zeroTodayTimestamp); ``` 这里采用了一种较为高效的算法,它考虑到了不同地区的时差问题,并且能够准确地返回给定地区当天起始位置对应的时间戳值[^3]。 #### PHP版本的做法 而在PHP里同样有简便的方法可以获得相同的结果: ```php <?php $timezone_offset = date('Z'); // 获取本地时区相对于UTC的偏差秒数 $midnight_timestamp = strtotime('today') - $timezone_offset; echo "今天的零点时间戳:" . $midnight_timestamp; ?> ``` 此段脚本会输出服务器所在时区内对应的当天最早整分钟时刻的时间戳[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值