1,获取本地时间戳
php应用mktime()函数将一个时间转换为UNIX的时间戳值。时间戳是一个长整数,包含了从UNIX 纪元(1070年1月1日),好多时间都是按这个为起始点的,感兴趣的朋友可以搜搜看看,里面肯定有故事哦。
mktime()函数语法格式如下:
int mktime(int time,int minute,int second,int month,int day,int year,int [is_dis])
mktime()函数的参数说明如下表:
2,获取时间和日期
在php中通过time()函数当前的UNIX时间戳。语法格式如下:
int time(void)
在php中date()函数用于获取当前的时间和日期。date()函数格式如下:
date(string format,int timestamp)
关于日期格式函数如下表所示:
getdate()函数主要用于获取日期中的相关信息。getdate()格式如下:
array getdate(int timestamp)
返回的数组元素如下表所示:
具体示例代码如下:
<?php
$array = getdate();
echo $array[‘year‘]."-".$array[‘mon‘]."-".$array[‘mday‘];
?>
运行结果如下:
3,检查日期的有效性
检查日期的有效性主要通过 checkdate()函数来实现的,具体语法如下:
bool checkdate(int month,int day,int year)
下面我们用代码来实现一下:
<?php
$year =2011;
$month =2;
$day =31;
echo var_dump(checkdate($day,$month,$year));
?>
运行结果下:
4,输出格式化的时间和日期
主要是通过date() 函数来实现的。
格式参数如下:
5,先是本地化的时间和日期
时间和日期的本地化主要是通过 setlocale()函数来实现的。
具体语法如下:
string setlocale(string category,string locale)
参数category 的选项如下表所示:
参数locale如果为空,就会使用系统的变量的locale或lang的值,否则就会应用locale所指定的本地化环境。如en_US为美国本地化环境,chs指简体中文,cht指繁体中文。
strftime()函数
strftime()函数根据本地化环境来格式化输出的时间和日期
语法格式如下:
string strftime( string format,int timestamp)
具体示例代码如下:
<?php
setlocale(LC_ALL,"en_US");
echo "美国格式:".strftime("Today is %A")."\n";
setlocale(LC_ALL,"chs");
echo "中文简体格式:".strftime("今天是:%A")."\n";
setlocale(LC_ALL,"cht");
echo "繁体中文格式:".strftime("今天是 :%A")."\n";
?>
运行结果如下:
6,将时间和日期解析为UNIX时间戳
主要是通过strtotime()函数来实现的。
int strtotime(string time,[,int time])
该函数有两个参数,如果time是绝对时间,那么now参数不起作用。如果time参数的格式为相对时间,那么对应的时间就是由now来提供的。如果没有提供now时间,那么对应的时间就是当前的时间。如果解析失败返回false。
示例代码如下:
<?php
echo strtotime("now")."\n"; //当前时间的时间戳
echo "输出时间:".date("Y-m-d H:i:s",strtotime("now"))."\n"; //按照格式要求输出当前的时间
echo strtotime("21 May 2009")."\n"; //输出指定时间的时间戳
echo "输出时间:".date("Y-m-d H:i:s",strtotime("21 May 2009"))."\n"; //按照格式输出指定时间的时间
echo strtotime("+3 day")."\n"; // 输出三天以后的时间戳
echo "输出时间:".date("Y-m-d H:i:s",strtotime("+3 day"))."\n"; //按照格式输出三天后的时间
echo strtotime("+1 week")."\n"; //输出一周以后的时间戳
echo "输出时间:".date("Y-m-d H:i:s",strtotime("+1 week"))."\n"; //按照格式输出一周以后的时间
echo strtotime("+1 week 2 days 3 hours 4 minutes")."\n";
echo strtotime("next week")."\n";
echo strtotime("last Monday")."\n";
?>
运行结果如下:
原文地址:http://blog.csdn.net/hanhailong18/article/details/44645065