php的时间转换

来源:互联网 发布:微信支付退款接口 php 编辑:程序博客网 时间:2024/06/01 13:41
PHP的时间戳与具体时间转化

三个内置函数:

time()     //获取UNIX系统时间戳mktime(hour,minute,second,month,day,year)   //将指定时间转化为时间戳date(时间格式,时间戳)     //将时间戳转化为方便阅读的时间

 

time -> date:

复制代码
$now = time();echo "时间戳是 " .$now;echo "创建日期是 " . date("Y-m-d h:i:s", $now);输出:时间戳是 1404610907创建日期是 2014-07-06 09:41:47
复制代码

 

mktime -> date:

复制代码
$d=mktime(9, 41, 47, 7, 6, 2014);echo "时间戳是 " .$d;echo "创建日期是 " . date("Y-m-d h:i:s", $d);输出:时间戳是 1404610907创建日期是 2014-07-06 09:41:47
复制代码

 

注:

一般注册或是登录的时候默认用time函数获得当前时间戳,当有需要指定特定时间的业务时可以根据具体时间用mktime函数转化为特定时间戳,而date函数则可以对时间戳进行逆转化为方便查看的具体时间。


一,PHP时间戳函数获取指定日期的unix时间戳 strtotime(”2009-1-22″) 示例如下:

echo strtotime(”2009-1-22″) 结果:1232553600

说明:返回2009年1月22日0点0分0秒时间戳

二,PHP时间戳函数获取英文文本日期时间 示例如下:

便于比较,使用date将当时间戳与指定时间戳转换成系统时间

(1)打印明天此时的时间戳strtotime(”+1 day”)

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”+1 day”)) 结果:2009-01-23 09:40:25

(2)打印昨天此时的时间戳strtotime(”-1 day”)

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”-1 day”)) 结果:2009-01-21 09:40:25

(3)打印下个星期此时的时间戳strtotime(”+1 week”)

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”+1 week”)) 结果:2009-01-29 09:40:25

(4)打印上个星期此时的时间戳strtotime(”-1 week”)

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”-1 week”)) 结果:2009-01-15 09:40:25

(5)打印指定下星期几的时间戳strtotime(”next Thursday”)

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”next Thursday”)) 结果:2009-01-29 00:00:00

(6)打印指定上星期几的时间戳strtotime(”last Thursday”)

当前时间:echo date(”Y-m-d H:i:s”,time()) 结果:2009-01-22 09:40:25

指定时间:echo date(”Y-m-d H:i:s”,strtotime(”last Thursday”)) 结果:2009-01-15 00:00:00

以上PHP时间戳函数示例可知,strtotime能将任何英文文本的日期时间描述解析为Unix时间戳,我们结合mktime()或date()格式化日期时间获取指定的时间戳,实现所需要的日期时间。

示例:

<?php
 
/***************************************************************************
 *
 * Copyright (c) 2011 Baidu.com, Inc. All Rights Reserved
 * $Id$
 *
 **************************************************************************/
 
 
 
//时间戳转日期
$date_time_array= getdate(1297845628);//1311177600  1316865566
$hours = $date_time_array["hours"];
$minutes= $date_time_array["minutes"];
$seconds= $date_time_array["seconds"];
$month = $date_time_array["mon"];
$day = $date_time_array["mday"];
$year = $date_time_array["year"];
 
echo "year:$year\nmonth:$month\nday:$day\nhour:$hours\nminutes:$minutes\nseconds:$seconds\n";
 
//正常日期转时间戳
echo mktime(0, 0, 0, 9, 18, 2011) . "\n";
echo mktime(0, 0, 0, 9, 25, 2011) . "\n";
 
/*
time();
是获得当前时间,但获得的是一整型
*/
//可以对此进行格式化
echo "time()显示年月日时分秒:" . date("Y-m-d H:i:s", time()) ."\n";
//这样连时,分秒一起显示
echo "time()只显示年月日:" . date("Y-m-d ", time()) ."\n"; //只年示年月日
 
echo "时间戳格式化:" . date("Y-m-d H:i:s", 1297845628) ."\n"; //直接使用时间戳
 
/* vim: set ts=4 sw=4 sts=4 tw=100 noet: */
?>

0 0
原创粉丝点击