Discuz教程网

PHP中几个常用的时间应用方式

[复制链接]
authicon 某人 发表于 2010-12-30 16:34:01 | 显示全部楼层 |阅读模式
PHP系统时区设置    修改PHP系统时区的两种方式:
    1、修改php.ini文件中的设置,找到[date]下的“;date.timezone=”,将该项修改为date.timezone=Asia/Hong_Kong (PRC 中国时间),然后重新启动Apache服务器。
    2、在应用程序中,使用时间日期函数之前添加“date_default_timezone_set(“Asia/Hong_Kong”)”函数
  1. 修改php.ini文件后获取本地时间:
  2. php代码:
  3. <?php
  4. echo “现在是北京时间:”.date(“Y-m-d H:i:s”).”<p>”;
  5. ?>
  6. 显示结果:
  7. 现在是北京时间:2010-11-30 20:50:03 (与本地时间相符)
  8. php.ini修改后的代码:
  9. [Date]
  10. ; Defines the default timezone used by the date functions
  11. ; http://php.net/date.timezone
  12. date.timezone = PRC
复制代码

    希望大家按照上面的方法去设置本地时区,要注意的是修改的php.ini文件必须是当前服务器所加载的php.ini文件。
   PHP中比较两个时间的大小    在日常生活中我们要经常比较时间的早晚,对于我们来说判断时间的大小很简单。但是时间的比较不只是单纯的数字大小的比较,因此相对来说还是比较复杂。    要比较两个时间的大小,我们需要将时间转化为时间戳格式,然后再进行比较这是最常用的方法。常用到的函数是:strtotime()
    语法格式:strtotime(time,now)
    如果time是绝对时间,则now参数不起作用
    如果time是相对时间,则相对应的参数则对应函数就是now来提供,如果没有提供now参数,那么相对应的时间就是当前的本地时间。
实例:比较两个绝对时间的大小
代码:
  1. <?php
  2. $zero1=date(“Y-m-d H:i:s”);
  3. $zero2=”2010-11-29 21:07:00″;
  4. echo “zero1的时间为:”.$zero1.”<br>”;
  5. echo “zero2的时间为:”.$zero2.”<br>”;
  6. if(strtotime($zero1)<strtotime($zero2)){
  7. echo “zero1早于zero2″;
  8. }else{
  9. echo “zero2早于zero1″;
  10. }
  11. ?>
复制代码


输出结果:
zero1的时间为:2010-11-30 21:12:55
zero2的时间为:2010-11-29 21:07:00
zero2早于zero1

注:可以根据实例发散思维
    计算两个日期的差值    奥运会倒计时,亚运会倒计时,生日倒计时这些倒计时都可以通过计算两个日期的差值来实现,同样需要用到strottime()函数。
    实现倒计时需要将两个时间的差值整数化,需要用到函数ceil()
    ceil()函数的作用是求不小于给定实数的最小整数
实例:倒计时小程序
实例代码:
  1. <?php
  2. $zero1=strtotime (date(“Y-m-d H:i:s”)); //当前时间
  3. $zero2=strtotime (“2011-2-03 24:00:00″);  //过年时间
  4. $guonian=ceil(($zero2-$zero1)/86400); //60s*60min*24h
  5. echo “离过年还有<strong>$guonian</strong>天!”;
  6. ?>
复制代码


输出结果:
离过年还有66天!

    计算脚本的运行时间    在打开很多网页时都会有一个脚本的运行时间,百度搜索时也会出现搜索用时这些元素。那么是通过什么来实现的呢?
    计算脚本运行时间需要用到microtime()函数,该函数的作用是返回当前时间戳和微秒数。返回格式为msec sec的字符串,其中sec是当前的UNIX时间戳,msec 为微秒数。
    语法格式:microtime(void)
    运算原理:分别记录脚本运行前后的时间戳,并计算两个时间戳的差值
实例:计算上个实例中的脚本运行时间
实例代码:
  1. <?php
  2. function run_time()
  3. {
  4.     list($msec, $sec) = explode(” “, microtime());
  5.     return ((float)$msec + (float)$sec);
  6. }
  7.     $start_time=run_time();
  8.     $zero1=strtotime (date(“Y-m-d H:i:s”)); //当前时间
  9.     $zero2=strtotime (“2011-2-03 24:00:00″);  //过年时间
  10.     $guonian=ceil(($zero2-$zero1)/86400); //60s*60min*24h
  11.     echo “离过年还有<strong>$guonian</strong>天!”;
  12.     $end_time=run_time();
  13. ?>
  14. <p>
复制代码

网页加载时间:<font color=red><?php echo ($end_time-$start_time);?></font>秒
运行结果:

离过年还有66天! 网页加载时间:0.00011682510375977
        explode()函数和list()函数将在以后的学习中详细介绍!



上一篇:如何在ASP.NET程序中显示程序集版本号
下一篇:PHP从-1到0,我们应该准备些什么?(作者:zero)
authicon forever21 发表于 2011-6-20 12:59:36 | 显示全部楼层
哈哈  收了你
authicon №小乖 发表于 2011-6-22 10:00:14 | 显示全部楼层
不错不错,我喜欢
authicon huanglv80 发表于 2011-6-23 04:00:17 | 显示全部楼层
我回不回呢 考虑再三 还是不回了吧 ^_^
authicon fantuanzi 发表于 2011-6-24 09:59:43 | 显示全部楼层
支持楼主,顶一下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-7-4 22:06

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表