Maison > Article > développement back-end > php开发之时间
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)
返回的数组元素如下表所示:
具体示例代码如下:
<code><span><span><?php </span><span>$array</span> = getdate(); <span>echo</span><span>$array</span>[<span>'year'</span>].<span>"-"</span>.<span>$array</span>[<span>'mon'</span>].<span>"-"</span>.<span>$array</span>[<span>'mday'</span>]; <span>?></span></span></span></code>
运行结果如下:
3,检查日期的有效性
检查日期的有效性主要通过 checkdate()函数来实现的,具体语法如下:
bool checkdate(int month,int day,int year)
下面我们用代码来实现一下:
<code><span><?php </span><span>$year</span> =<span>2011</span>; <span>$month</span> =<span>2</span>; <span>$day</span> =<span>31</span>; <span>echo</span> var_dump(checkdate(<span>$day</span>,<span>$month</span>,<span>$year</span>)); <span>?></span></span></code>
运行结果下:
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)
具体示例代码如下:
<code><span><?php </span>setlocale(LC_ALL,<span>"en_US"</span>); <span>echo</span><span>"美国格式:"</span>.strftime(<span>"Today is %A"</span>).<span>"\n"</span>; setlocale(LC_ALL,<span>"chs"</span>); <span>echo</span><span>"中文简体格式:"</span>.strftime(<span>"今天是:%A"</span>).<span>"\n"</span>; setlocale(LC_ALL,<span>"cht"</span>); <span>echo</span><span>"繁体中文格式:"</span>.strftime(<span>"今天是 :%A"</span>).<span>"\n"</span>; <span>?></span></span></code>
运行结果如下:
6,将时间和日期解析为UNIX时间戳
主要是通过strtotime()函数来实现的。
int strtotime(string time,[,int time])
该函数有两个参数,如果time是绝对时间,那么now参数不起作用。如果time参数的格式为相对时间,那么对应的时间就是由now来提供的。如果没有提供now时间,那么对应的时间就是当前的时间。如果解析失败返回false。
示例代码如下:
<code><span><span><?php </span><span>echo</span> strtotime(<span>"now"</span>).<span>"\n"</span>; <span>//当前时间的时间戳</span><span>echo</span><span>"输出时间:"</span>.date(<span>"Y-m-d H:i:s"</span>,strtotime(<span>"now"</span>)).<span>"\n"</span>; <span>//按照格式要求输出当前的时间</span><span>echo</span> strtotime(<span>"21 May 2009"</span>).<span>"\n"</span>; <span>//输出指定时间的时间戳</span><span>echo</span><span>"输出时间:"</span>.date(<span>"Y-m-d H:i:s"</span>,strtotime(<span>"21 May 2009"</span>)).<span>"\n"</span>; <span>//按照格式输出指定时间的时间</span><span>echo</span> strtotime(<span>"+3 day"</span>).<span>"\n"</span>; <span>// 输出三天以后的时间戳</span><span>echo</span><span>"输出时间:"</span>.date(<span>"Y-m-d H:i:s"</span>,strtotime(<span>"+3 day"</span>)).<span>"\n"</span>; <span>//按照格式输出三天后的时间</span><span>echo</span> strtotime(<span>"+1 week"</span>).<span>"\n"</span>; <span>//输出一周以后的时间戳</span><span>echo</span><span>"输出时间:"</span>.date(<span>"Y-m-d H:i:s"</span>,strtotime(<span>"+1 week"</span>)).<span>"\n"</span>; <span>//按照格式输出一周以后的时间</span><span>echo</span> strtotime(<span>"+1 week 2 days 3 hours 4 minutes"</span>).<span>"\n"</span>; <span>echo</span> strtotime(<span>"next week"</span>).<span>"\n"</span>; <span>echo</span> strtotime(<span>"last Monday"</span>).<span>"\n"</span>; <span>?></span></span></span></code>
运行结果如下:
以上就介绍了php开发之时间,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。