返回到试验田


php时间函数

Unix时间戳的英文名为Unix epoch, Unix time, POSIX time 或 Unix timestamp,它指的是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。时间戳0按照ISO timestamp。它指的是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。时间戳0按照ISO 8601格式写出来为 1970-01-01T00:00:00Z 。一小时为3600秒,一个基准日(也称纪元日,epoch day)是86400秒,闰秒没有计算在内.多数Unix系统将时间戳以一个32位整型进行保存,这可能会在2038年1月19日产生一些问题(Y2038问题)。 下面是一些常用的时间单位换算列表,方便你手工计算这些时间戳,上面也可以把秒数转换为天数小时数分钟数和秒数: 1 分=60 秒 1小时=3600 秒 1天=86400 秒 1周=604800 秒 1月=(30.44 天)2629743 秒 1年=(365.24 天)31556926 秒
获得当前时刻的UNIX时间戳
echo time();
给定时间戳,得到对应的时间(XXXX年XX月XX日 XX时:XX分:XX秒)
echo date('Y-m-d H:i:s', '1222220797');

XXXX年XX月XX日 XX时:XX分:XX秒

给定相应的时间(XXXX年XX月XX日 XX时:XX分:XX秒),得到时间戳
echo mktime(时,分,秒,月,日,年);
秒   

常用时间

$day_s = mktime(0,0,0,date("m", strtotime("-1 day")), date("d",strtotime("-1 day")), date("Y",strtotime("-1 day")));
$day_e = mktime(23,59,59,date("m", strtotime("-1 day")), date("d",strtotime("-1 day")), date("Y",strtotime("-1 day")));
昨天
2012-02-07 00:00:00
2012-02-07 23:59:59

$year = date( 'Y' )
$month = date('m')
$day = date('d')
echo date('Y-m-d H:i:s', mktime(0, 0, 0, $month, $day - date('N'), $year))
echo date('Y-m-d H:i:s', mktime(23, 59, 59, $month,$day - date('N') + 6, $year))
本周
2012-02-05 00:00:00
2012-02-11 23:59:59
echo date('Y-m-d H:i:s', mktime(0, 0, 0, $month, $day - date('N') - 7, $year))
echo date('Y-m-d H:i:s', mktime(23, 59, 59, $month, $day - date('N') -1 , $year))
上周
2012-01-29 00:00:00
2012-02-04 23:59:59
echo date("Y-m-d H:i:s", mktime(0, 0, 0, date('m')-1, 1, date('y')))
echo date("Y-m-d H:i:s", mktime(23, 59, 59, date('m'), 0, date('y')))
上月
2012-01-01 00:00:00
2012-01-31 23:59:59