php将标准字符串格式时间转换成unix时间戳_strtotime
php 将标准字符串格式时间转换成unix时间戳的函数为:strtotime函数(PHP 4, PHP 5)。
strtotime函数详细参考:
strtotime — 将任何英文文本的日期时间描述解析为 Unix 时间戳.
函数格式说明:
int strtotime ( string $time [, int $now ] )
本函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数),其值相对于 now 参数给出的时间,如果没有提供此参数则用系统当前时间。
本函数将使用 TZ 环境变量(如果有的话)来计算时间戳。自 PHP 5.1.0 起有更容易的方法来定义时区用于所有的日期/时间函数。此过程在 date_default_timezone_get() 函数页面中有说明。
参数说明:
time
被解析的字符串,格式根据 GNU ? 日期输入格式的语法。在 PHP 5.0 之前,time 中不允许有毫秒数,自 PHP 5.0 起可以有但是会被忽略掉。
now
用来计算返回值的时间戳。
返回值解释:
成功则返回时间戳,否则返回 FALSE。在 PHP 5.1.0 之前本函数在失败时返回 -1。
注意:
1)如果给定的年份是两位数字的格式,则其值 0-69 表示 2000-2069,70-100 表示 1970-2000。
2)在php 5.1.0版本下失败时返回 FALSE,不再是 -1。
3)在 PHP 5 中到 5.0.2 之前,"now" 和其它相对时间从今天午夜起错误计算了。这和正确从当前时间起计算的其它版本不同。
4)有效的时间戳通常从 Fri, 13 Dec 1901 20:45:54 GMT 到 Tue, 19 Jan 2038 03:14:07 GMT(对应于 32 位有符号整数的最小值和最大值)。不是所有的平台都支持负的时间戳,那么日记范围就被限制为不能早于 Unix 纪元。这意味着在 1970 年 1 月 1 日之前的日期将不能用在 Windows,一些 Linux 版本,以及几个其它的操作系统中。不过 PHP 5.1.0 及更新的版本克服了此限制。
代码举例:
1).代码段1:
1
2
3
4
5
6
7
8
9
|
<?php
echo
strtotime
(
"now"
),
"\n"
;
echo
strtotime
(
"10 September 2000"
),
"\n"
;
echo
strtotime
(
"+1 day"
),
"\n"
;
echo
strtotime
(
"+1 week"
),
"\n"
;
echo
strtotime
(
"+1 week 2 days 4 hours 2 seconds"
),
"\n"
;
echo
strtotime
(
"next Thursday"
),
"\n"
;
echo
strtotime
(
"last Monday"
),
"\n"
;
?>
|
2).代码段2:
1
2
3
4
5
6
7
8
9
|
<?php
$str
=
‘Not Good‘
;
// previous to PHP 5.1.0 you would compare with -1, instead of false
if
((
$timestamp
=
strtotime
(
$str
)) === false) {
echo
"The string ($str) is bogus"
;
}
else
{
echo
"$str == "
.
date
(
‘l dS of F Y h:i:s A‘
,
$timestamp
);
}
?>
|
3).代码段3:
1
2
3
4
|
<?php
$time
=
"2011-03-17 23:59:00"
;
$unixtime
=
strtotime
(
$time
);
?>
|
169IT站内文章除注明原创外,均为转载,整理或搜集自网络.欢迎任何形式的转载,转载请注明出处.
转载请注明:文章转载自:[169IT-最新最全的IT资讯]
本文标题:php将标准字符串格式时间转换成unix时间戳_strtotime
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。