‘壹’ php如何获得昨天23:59:59的时间戳
可以使用mktime函数,详细方法如下:
$secondsOneDay=60*60*24;
$now=time();
$yesterday=$now-$secondsOneDay;
$time=mktime(23,59,59,date("n",$yesterday),date("j",$yesterday),date("Y",$yesterday));
解释:
secondsOneDay为每天的秒数
now为当前的时间戳
yesterday为过去24小时前的时间戳,一定是昨天的某个时间戳
mktime用于生成一个时间戳,参数分别为小时、分钟、秒、月、日、年
date函数取指定时间戳的某个日期参数,如某个时间戳的年份、月份等,其中n参数为月份、j参数为日期、Y参数为年份
由于yesterday是昨天的某个时间,所以取出的参数均为昨天的,整体的时间戳即昨天23时59分59秒的时间戳
‘贰’ php菜鸟求助 用mktime代码的最简形式输出明天的此时此刻的时间
对于你的需求 这个函数更适合
date_default_timezone_set('PRC');//设置中国时区
echo"明天此时此刻:".date("Y-m-dH:i:s",strtotime("+1day"));die;
mktime(hour,minute,second,month,day,year,is_dst);返回一个日期的 UNIX 时间戳,然后使用它来查找该日期的天
//获取今日开始时间戳和结束时间戳
$start=mktime(0,0,0,date('m'),date('d'),date('Y'));
$end=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
//获取昨日起始时间戳和结束时间戳
$beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
//获取上周起始时间戳和结束时间戳
$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'));
//获取本月起始时间戳和结束时间戳
$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
$endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));
‘叁’ 怎样用php实现两个时间相减,得到相差的天数
<?php
$time1 = mktime(10,20,30,2,5,2000); //2000-2-5 10:20:30
$time2 = mktime(18,30,20,5,2,2000); //2000-5-2 18:30:20
$diff = (int)(($time2-$time1)/(24*3600));
echo "$time2 和 $time1 的时间差为:" . $diff . "天<br>";
?>
‘肆’ php怎么获取今天零点的时间戳
function get000($time){
return $time-date('O')*36-$time除以86400;
}
$time=time();
echo get000($time);
解释:
date('O') 获取当前环境的时候件偏差,如果在中国,那么该值就是+0800
date('O')*36 实际上就是8*3600 也就是8个小是的秒数
时间戳首先剪掉8个小时的偏差
然后$time除以86400取的是0点到当前的秒数
把这两个剪掉就是今天0点的时间戳了
//
更简单的办法:
strtotime(date('Y-m-d',time()));
‘伍’ php 时间数字转换时间戳
mktime( 小时, 分钟, 秒, 月, 日, 年 );
2012年05月25日23点45分16秒
mktime( 23, 45, 16, 5, 25, 2012 );
$timeStr = '20120525234516';
$hour = substr( $timeStr, 8, 2); //在第8位(从0开始)后取2位
$minute = substr( $timeStr, 10, 2);
$second= substr( $timeStr, 12, 2);
$year= substr( $timeStr, 0, 4);
$month= substr( $timeStr, 4, 2);
$day = substr( $timeStr, 6, 2);
mktime( $hour, $minute, $second, $month, $day, $month );
----以---下---是---手---册---内---的---内---容---选---看-----
取得一个日期的 Unix 时间戳,如果参数非法,本函数返回 FALSE(在 PHP 5.1 之前返回 -1)。
mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]] )
根据给出的参数返回 Unix 时间戳。时间戳是一个长整数,包含了从 Unix 纪元(January 1 1970 00:00:00 GMT)到给定时间的秒数。
参数可以从右向左省略,任何省略的参数会被设置成本地日期和时间的当前值。
参数
hour
小时数。
minute
分钟数。
second
秒数(一分钟之内)。
month
月份数。
day
天数。
year
年份数,可以是两位或四位数字,0-69 对应于 2000-2069,70-100 对应于 1970-2000。在如今系统中普遍把 time_t 作为一个 32 位有符号整数的情况下,year 的合法范围是 1901 到 2038 之间,不过此限制自 PHP 5.1.0 起已被克服了。
is_dst
本参数可以设为 1,表示正处于夏时制时间(DST),0 表示不是夏时制,或者 -1(默认值)表示不知道是否是夏时制。如果未知,PHP 会尝试自己搞明白。这可能产生不可预知(但并非不正确)的结果。如果 PHP 运行的系统中启用了 DST 或者 is_dst 设为 1,某些时间是无效的。例如 DST 自 2:00 生效,则所有处于 2:00 到 3:00 之间的时间都无效,mktime() 会返回一个未定义(通常为负)的值。某些系统(例如 Solaris 8)的 DST 在午夜生效,则 DST 生效当天的 0:30 会被计算为前一天的 23:30。
注意: 自 PHP 5.1.0 起,本参数已被废弃。应该使用新的时区处理特性来替代。