php中strtotime函数用法详解
程序员文章站
2024-02-03 11:46:28
本文实例讲述了php中strtotime函数用法。分享给大家供大家参考。具体如下:
strtotime(字符串$时间[,诠释$现在])int strtotime(stri...
本文实例讲述了php中strtotime函数用法。分享给大家供大家参考。具体如下:
strtotime(字符串$时间[,诠释$现在])int strtotime(string $time [,int $now] 该函数期望得到一个包含美国英语日期格式,并会尝试解析成一个unix时间戳(多少秒自1970年1月1日00:00:00星期一该格式),相对于现在提供的时间戳,或当前时间如果现在不提供
这个函数将使用tz环境变量(如果有)来计算时间戳,自php 5.1.0有更容易的方法来确定所使用的所有/日期时间函数的时区,这一过程是解释在date_default_timezone_get()函数的一页.
解析的字符串,在php 5.0.0,不允许在微秒的时间,自php 5.0.0他们是允许的,但忽略.
现在哪些是作为计算基数相对日期使用时间戳.
返回值:在成功返回一个时间戳,否则返回false,前到php 5.1.0,这个函数将返回失败-1.
现在我们来看看strtotime字符转换成时间的函数实例,代码如下:
复制代码 代码如下:
<?php
//function
function nextweeksday($date_begin,$nbrweek)
{
$nextweek=array();
for($i = 1; $i <= $nbrweek; $i++) { // 52 week in one year of coursewww.phpfensi.com
$nextweek[$i]=date('d d m y', strtotime('+'.$i.' week',$date_begin));
}
return $nextweek;
}
/// end function
/// example of a select date
// var
$date_begin = strtotime('06-05-2010'); //d day month year - like function format.
$nbrweek=52;
// call function
$result=nextweeksday($date_begin,$nbrweek);
// preview
for($i = 1; $i <= $nbrweek; $i++) {
echo '<br> - '.$result[$i];
}
?>
<?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 o f y h:i:s a', $timestamp);
}
?>
<?php
echo strtotime("now"), " ";
echo strtotime("10 september 2000"), " ";
echo strtotime("+1 day"), " ";
echo strtotime("+1 week"), " ";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), " ";
echo strtotime("next thursday"), " ";
echo strtotime("last monday"), " ";
?>
//function
function nextweeksday($date_begin,$nbrweek)
{
$nextweek=array();
for($i = 1; $i <= $nbrweek; $i++) { // 52 week in one year of coursewww.phpfensi.com
$nextweek[$i]=date('d d m y', strtotime('+'.$i.' week',$date_begin));
}
return $nextweek;
}
/// end function
/// example of a select date
// var
$date_begin = strtotime('06-05-2010'); //d day month year - like function format.
$nbrweek=52;
// call function
$result=nextweeksday($date_begin,$nbrweek);
// preview
for($i = 1; $i <= $nbrweek; $i++) {
echo '<br> - '.$result[$i];
}
?>
<?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 o f y h:i:s a', $timestamp);
}
?>
<?php
echo strtotime("now"), " ";
echo strtotime("10 september 2000"), " ";
echo strtotime("+1 day"), " ";
echo strtotime("+1 week"), " ";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), " ";
echo strtotime("next thursday"), " ";
echo strtotime("last monday"), " ";
?>
这是一个快速函数计算在一年期间,“工作天”,“工作日”是指那些没有周末,没有假期在$数组中指定的假日,实例代码如下:
复制代码 代码如下:
function get_working_days($to_date) {
$holidays = array(
1 => array(10), //2011 ...
2 => array(11),
3 => array(21), //... 2011
4 => array(29,30), //2010 ...
5 => array(3,4,5),
6 => array(),
7 => array(19),
8 => array(11,12,13),
9 => array(20,23),
10 => array(11),
11 => array(3,23),
12 => array(23) //... 2010
);
for($to_date, $w = 0, $i = 0, $x = time(); $x < $to_date; $i++, $x = strtotime("+$i day")) {
if(date("n",$x) < 6 &! in_array(date("j",$x),$holidays[date("n",$x)])) $w++;
}
return $w;
}
//usage:
echo get_working_days(strtotime("2011-01-08"));
$holidays = array(
1 => array(10), //2011 ...
2 => array(11),
3 => array(21), //... 2011
4 => array(29,30), //2010 ...
5 => array(3,4,5),
6 => array(),
7 => array(19),
8 => array(11,12,13),
9 => array(20,23),
10 => array(11),
11 => array(3,23),
12 => array(23) //... 2010
);
for($to_date, $w = 0, $i = 0, $x = time(); $x < $to_date; $i++, $x = strtotime("+$i day")) {
if(date("n",$x) < 6 &! in_array(date("j",$x),$holidays[date("n",$x)])) $w++;
}
return $w;
}
//usage:
echo get_working_days(strtotime("2011-01-08"));
希望本文所述对大家的php程序设计有所帮助。
上一篇: asp动态页面防采集的新方法
下一篇: 异常 自定义异常