首页 > 语言 > PHP > 正文

php strtotime 函数与实例教程

2024-09-04 11:49:03
字体:
来源:转载
供稿:网友

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字符转换成时间的函数实例,代码如下:

  1. <?php 
  2. //function 
  3. function nextWeeksDay($date_begin,$nbrweek
  4. $nextweek=array(); 
  5. for($i = 1; $i <= $nbrweek$i++)  { // 52 week in one year of coursewww.Vevb.com 
  6. $nextweek[$i]=date('D d M Y'strtotime('+'.$i.' week',$date_begin)); 
  7. return $nextweek
  8. /// end function  
  9. /// example of a select date  
  10. // var 
  11. $date_begin = strtotime('06-05-2010'); //D Day Month Year  - like function format. 
  12. $nbrweek=52; 
  13. // call function 
  14. $result=nextWeeksDay($date_begin,$nbrweek); 
  15. // Preview  
  16. for($i = 1; $i <= $nbrweek$i++)  { 
  17. echo '<br> - '.$result[$i]; 
  18. ?> 
  19.  
  20. <?php 
  21. $str = 'Not Good'
  22.  
  23. // previous to PHP 5.1.0 you would compare with -1, instead of false 
  24. if (($timestamp = strtotime($str)) === false) { 
  25.     echo "The string ($str) is bogus"
  26. else { 
  27.     echo "$str == " . date('l dS o F Y h:i:s A'$timestamp); 
  28. ?>  
  29. <?php 
  30. echo strtotime("now"), " "
  31. echo strtotime("10 September 2000"), " "
  32. echo strtotime("+1 day"), " "
  33. echo strtotime("+1 week"), " "
  34. echo strtotime("+1 week 2 days 4 hours 2 seconds"), " "
  35. echo strtotime("next Thursday"), " "
  36. echo strtotime("last Monday"), " "
  37. ?> 

这是一个快速函数计算在一年期间,“工作天”,“工作日”是指那些没有周末,没有假期在$数组中指定的假日,实例代码如下:

  1. function get_working_days($to_date) { 
  2.     $holidays = array
  3.         1 => array(10), //2011 ... 
  4.         2 => array(11), 
  5.         3 => array(21), //... 2011 
  6.         4 => array(29,30), //2010 ... 
  7.         5 => array(3,4,5), 
  8.         6 => array(), 
  9.         7 => array(19), 
  10.         8 => array(11,12,13), 
  11.         9 => array(20,23), 
  12.        10 => array(11), 
  13.        11 => array(3,23), 
  14.        12 => array(23) //... 2010 
  15.     ); 
  16.  
  17.     for($to_date$w = 0, $i = 0, $x = time(); $x < $to_date$i++, $x = strtotime("+$i day")) { 
  18.        if(date("N",$x) < 6 &! in_array(date("j",$x),$holidays[date("n",$x)])) $w++;//开源代码Vevb.com 
  19.     } 
  20.     return $w
  21.  
  22. //Usage: 
  23. echo get_working_days(strtotime("2011-01-08"));

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表