详细讲解PHP的日期时间函数date()

 更新时间:2016年11月25日 16:08  点击:2310

导读:
  大写Y表示年四位数字,而小写y表示年的两位数字;
  小写m表示月份的数字(带前导),而小写n则表示不带前导的月份数字。
  echo date(''Y-M-j'');
  2007-Feb-6
  echo date(''Y-m-d'');
  2007-02-06
  大写M表示月份的3个缩写字符,而小写m则表示月份的数字(带前导0);
  没有大写的J,只有小写j表示月份的日期,无前导o;若需要月份带前导则使用小写d。
  echo date(''Y-M-j'');
  2007-Feb-6
  echo date(''Y-F-jS'');
  2007-February-6th
  大写M表示月份的3个缩写字符,而大写F表示月份的英文全写。(没有小写f)
  大写S表示日期的后缀,比如“st”、“nd”、“rd”和“th”,具体看日期数字为何。
  小结:
  表示年可以用大写的Y和小写y;
  表示月可以用大写F、大写M、小写m和小写n(分别表示字符和数字的两种方式);
  表示日可以用小写d和小写j,大写S表示日期的后缀。
  2,时:分:秒
  默认情况下,PHP解释显示的时间为“格林威治标准时间”,与我们本地的时间相差8个小时。
  echo date(''g:i:s a'');
  5:56:57 am
  echo date(''h:i:s A'');
  05:56:57 AM
  小写g表示12小时制,无前导0,而小写h则表示有前导0的12小时制。
  当使用12小时制时需要表明上下午,小写a表示小写的“am”和“pm”,大写A表示大写的“AM”和“PM”。
  echo date(''G:i:s'');
  14:02:26
  大写G表示24小时制的小时数,但是不带前导的;使用大写的H表示带前导的24小时制小时数
  小结:
  字母g表示小时不带前导,字母h表示小时带前导;
  小写g、h表示12小时制,大写G、H表示24小时制。
  3,闰年、星期、天
  echo date(''L'');
  今年是否闰年:0
  echo date(''l'');
  今天是:Tuesday
  echo date(''D'');
  今天是:Tue
  大写L表示判断今年是否闰年,布尔值,为真返回1,否则为0;
  小写l表示当天是星期几的英文全写(Tuesday);
  而使用大写D表示星期几的3个字符缩写(Tue)。
  echo date(''w'');
  今天星期:2
  echo date(''W'');
  本周是全年中的第 06 周
  小写w表示星期几,数字形式表示
  大写W表示一年中的星期数
  echo date(''t'');
  本月是 28 天
  echo date(''z'');
  今天是今年的第 36 天
  小写t表示当前月份又多少天
  小写z表示今天是本年中第几天
  4,其他
  echo date(''T'');
  UTC
  大写T表示服务器的时间区域设置
  echo date(''I'');
  0
  大写I表示判断当前是否为夏令时,为真返回1,否则为0
  echo date(''U'');
  1170769424
  大写U表示从1970年1月1日到现在的总秒数,就是Unix时间纪元的UNIX时间戳。
  echo date(''c'');
  2007-02-06T14:24:43+00:00
  小写c表示ISO8601日期,日期格式为YYYY-MM-DD,用字母T来间隔日期和时间,时间格式为HH:MM:SS,时区使用格林威治标准时间(GMT)的偏差来表示。
  echo date(''r'');
  Tue, 06 Feb 2007 14:25:52 +0000
  小写r表示RFC822日期。
  小小的date()函数就显示出了PHP的强大功能和迷人魅力,再比较下ASP,呵呵。

转贴:http://xoops.org.cn/modules/newbb/viewtopic.php?topic_id=8734&forum=1

目前有不少AMP(ApacheMySQLPHP)的集成软件,可以让我们一次安装并设置好。这对于不熟悉AMP的用户来说,好处多多。

一、使用AMP集成软件的优点:
1、可避免由于缺乏AMP的知识,而无法正确设置环境;
2、可快速安装并设置好AMP环境,让我们直接开始真正感兴趣的软件,如xoops;
3、可方便的搭建测试环境,对于测试“是AMP环境问题,还是XOOPS造成的问题”很有帮助,采用排除法即可。

二、常用的AMP集成软件:
1、AppServ:http://www.appservnetwork.com/
这个软件在台湾很流行。看到不少书籍也极力推荐,估计都是受台湾用户的影响。

2、XAMPP:http://www.apachefriends.org/en
这个软件支持多个平台,WinLinuxSolarisMac OS X,目前也有不少人使用。

3、WAMP5:http://www.wampserver.com/en/
这是我今天极力推荐的,绝对五星级。注意它的名字是带个5的哦,意思就是WAMP5使用最新的PHP5版本,正如官方网站上的口号:Discover PHP5 with WAMP5 ! 

三、根据我的经验,WAMP5有如下优点:
1、XOOPS在WAMP5中使用,没有任何问题。
2、WAMP5专注于Windows平台,安装设置及其简单。
3、PHP默认的是5.x版本,如果需要php4.x,只要安装php4.x插件,就可以在两者之间自由的切换,非常方便。
4、MySQL默认的是5.x版本,但可以通过选择老版本的WAMP5,从而使用4.x的MySQL。
5、可视化的菜单管理,极其方便。如,打开关闭php extention、Apache module等,直接通过菜单选择就可以。
6、还有各种插件,如ZEND OPTIMIZER ADD-ON等。
7、如果有疑问,官方还有论坛可以求助。
......更多优点:谁用谁知道,早用早知道^_^



//创建一个对象
$timer = new Benchmark_Timer();

//计时开始
$timer->start();

//测试的一段脚本
for ($i=0; $i<1000; $i++)
{
//we do nothing here
}

//设置标记
$timer->setMarker("Mark1");

//输出两点之间的用时
echo $timer->timeElapsed("Start", "Mark1");
?>
然后执行之,就可以得到0.000543这样的结果,大致为从开始到Mark1点之间的耗时.
类方法
方法:Benchmark_Timer( [mixed $auto = false])
描述:构造器,开始计时器记录.
参数:boolean $auto,缺省为false,如果设定为true的话,则会自动打印计时器结果.形如下表
    time index    ex time    %
Start    1099020859.80505200    -    0.00%
Stop    1099020859.80595000    0.000898    100.00%
total    -    0.000898    100.00%

分别列出开始/终止的时间索引,与上一标记之间的运行时间,与上一标记之间的运行时间占总耗时的百分比(所以Stop点一直为100%),以及总耗时.
方法: display( )
描述:打印由getOutput方法返回的信息.
形如下表:
    time index    ex time    %
Start    1099021292.32145600    -    0.00%
Mark1    1099021292.32202000    0.000564    46.38%
Mark2    1099021292.32209700    0.000077    6.33%
Stop    1099021292.32267200    0.000575    47.29%
total    -    0.001216    100.00%

列出每一标记的时间索引,与上一标记之间的运行时间,与上一标记之间的运行时间占总耗时的百分比,以及总耗时.
调用该方法前,应该先调用stop()来终止计时(并不会终止程序).见例2. 方法: getOutput( )
描述:返回格式化后的计时器信息. 该方法把计时器信息放如一个表中(如上表),供display()方法列出.
方法:getProfiling( )
描述:返回计时器信息.将是形如
Array
(
[0] => Array
(
[name] => Start
[time] => 1099021787.69669100
[diff] => -
[total] => 1099021787.696691
)

[1] => Array
(
[name] => Mark1
[time] => 1099021787.69675900
[diff] => 0.000068
[total] => 1099021787.696759
)

[2] => Array
(
[name] => Mark2
[time]


此文演示了PHP三层开发的强大功能,PEAR::DB_DataObject用于业务逻辑,Smarty用于显示逻辑,这里假设你熟
悉了HTML,Smarty,PEAR::DB_DataObject,Mysql和PHP5.如果你需要补充知识,下面的文章解释了一些原理:
用PHP DataObject简化业务逻辑
Smarty简介:一个PHP模板引擎
PHP可伸缩性:Myth
你应该已安装和配置好了Apache,MySQL,和PHP5(或者IIS,MySQL5和PHP)
PEAR::DB_DataObject
PEAR::DB_DataObject 是一个用户数据库访问的抽象API.它是一个基于PEAR::DB的SQL构建器和数据建模层.它
把数据库表映射到PHP类并且提供像SELECT,INSERT,UPDATE,和DELETE这样的公共SQL函数.这使即使不了
解SQL的开发者也可以写出好的数据库访问代码,并且鼓励演示逻辑和业务逻辑有一个清晰的分离.
(DB_OO已经移动到的PEAR,现在是DB_DataObject,如果你有老的代码要更新,查看关于从老的db_oo代码更新到
DB_DataObjects的注释).
相关阅读
 
Upgrading to PHP 5
By Adam Trachtenberg
Table of Contents
Index
Sample Chapter
Read Online--Safari Search this book on Safari:
   
 Only This Book All of Safari
Code Fragments only
DataObject performs two tasks. First, it builds SQL statements based on the object''s variables and the builder
methods. Second, it acts as a datastore for a table row. There''s a core class, which you extend for each of
your tables so that you put the data logic inside the data classes. There''s also an included Generator to make
your configuration files and your base classes.
DataObject 执行两个任务.第一,它构建基于对象变量的SQL语句和构建器方法.第二,它作为数据库表的数据存
储.这里有个核心类,对于每个表继承它,以使你把数据逻辑放入数据类中.这里还包括一个生成器,

DataObject 极大的简化了数据库访问代码,它使开发大型的,数据驱动的站点更加容易.
At present, Alan Knowles, the lead developer of PEAR::DB_DataObject, is working on a new project called DBDO,
a C implementation of the PEAR package DB_DataObjects, based on libgda. His goal is to create the next
generation of PEAR::DB_DataObjects.
SMARTY
Smarty是一个从web页演示中分离内容的PHP模板引擎.它使用GPL许可.
Large projects commonly separate the role of the graphic designer from that of the programmer. However,
programming in PHP has the tendency to combine those two roles in a person and inside the code. This can bring
difficulties when it comes time to change some part of the page''s design. If the page mixes content and
presentation, the developer has to crawl through the program to find the presentation. Smarty helps to solve
this problem.
Combining the Two
The first thing to do when starting this project is


目前,不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了
验证码技术。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,
图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输
入表单提交网站验证,验证成功后才能使用某项功能。

英语学习网我们这里展示了如何编写PHP程序实现验证码功能:

代码一:
CODE:
<?php
   /*
    *   Filename:    authpage.php
    *   Author:   hutuworm
    *   Date:   2003-04-28
    *   @Copyleft    hutuworm.org
    */

    srand((double)microtime()*1000000);

   //验证用户输入是否和验证码一致
        if(isset($HTTP_POST_VARS[''authinput''])) 
        {
                if(strcmp($HTTP_POST_VARS[''authnum''],$HTTP_POST_VARS[''authinput''])==0)
                        echo "验证成功!";
                else
                        echo "验证失败!";
        }
   
   //生成新的四位整数验证码
        while(($authnum=rand()%10000)<1000); 
    ?>
        <form action=authpage.php method=post>
        <table>
                请输入验证码:<input type=text name=authinput style="width: 80px"><br><input type=submit name="验证" value="提交验证码">
                <input type=hidden name=authnum value=<? echo $authnum; ?

<
[!--infotagslink--]

相关文章

  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • 在java中获取List集合中最大的日期时间操作

    这篇文章主要介绍了在java中获取List集合中最大的日期时间操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-15
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • php计算两个日期相差天数的方法

    本文实例讲述了php计算两个日期相差天数的方法。...2015-03-15
  • PHP函数strip_tags的一个bug浅析

    PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31
  • SQL Server中row_number函数的常见用法示例详解

    这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08
  • PostgreSQL 字符串处理与日期处理操作

    这篇文章主要介绍了PostgreSQL 字符串处理与日期处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-01
  • 常用的日期时间正则表达式

    常用的日期时间正则表达式 下面收藏了大量的日期时间正则匹配函数,包括分钟,时间与秒都能达到。 正则表达式 (?n:^(?=d)((?<day>31(?!(.0?[2469]|11))|30(?!.0?2)|29(...2016-11-25