PHP是一门非常令人惊奇的语言。它足够强大(最大的博客(wordpress)的核心语言),它足够广泛(运行在最大社交网站facebook上),它足够简单(作为初学者首选入门语言)。在低成本的机器上运行良好。而且php语言有很多非常不错的服务器套件(如WAMP和MAMP),很方便的安装在你的机器上。PHP有非常丰富的库资源,便于开发者很容易的处理一些业务。由于我们在项目中与日期接触最多,所以今天就从日期函数入手学习。
Getting started with dates in php5
你将在你的浏览器里看到如下的内容。
Today is Friday
这个函数输出星期几的文本格式。date函数至少需要一个字符参数(这个参数告诉我们怎样格式化当前日期)。
将得到
Today is 2012-08-17
有一些日期是很普遍地被使用,所以PHP提供了一些常量供你使用。举例,你可以使用Cookie获取到客户端日期。
你将得到如下面的内容
Today is Friday, 17-Aug-12 11:34:38 CST
注意当使用常量的时候不要使用引号。
你将得到
The time is 11:39:59am
这个将设置中国上海时区。这是php5的函数(注意旧版本的php),有很多供你。如果你想永久生效,你可以修改你的php.ini文件。
结果是:
Today is 2011-06-27
这个看起来没什么用途,但它意味着你能用date()函数做计算。这之前,你需要简单的创建一个时间戳。
得到的结果是:
Today is 2011-06-26 9:23:33am
mktime()函数需要你依次传递小时,分钟,秒,月,日,年。这是获取时间戳的好的方式,但是有更酷的方式。
输出:
Today is 2011-06-26 7:50:00pm
PHP在解释字符方面是相当灵巧的,但不是完美的,因此,在你插入之前一定要测试你输入的字符。使用"english-like instructions"转化成需要的时间戳,这是一个非常不错的方式。你可以像下面这样做:
$nextfriday=strtotime("next Friday"); //下周五$nextmonth=strtotime("+1 Month"); //从今天开始计算一个月以后的时间$lastchristmas=strtotime("-1 year dec 25"); //去年圣诞节
';while($currentdate < $enddate): echo "\t
你将会得到如下的结果:
Aug 21Aug 28Sep 04Sep 11Sep 18Sep 25Oct 02Oct 09Oct 16Oct 23Oct 30Nov 06Nov 13Nov 20Nov 27Dec 04
注意一下这行:$currentdate = strtotime("+1 week", $currentdate)。在这行,你会发现你需要指定一个时间戳做为第二个参数,strtotime将使用这个参数代替默认时间戳(今天),并进行运算。
$someday = strtotime("3 weeks thursday November 1");$daysUtilDate = ceil(($someday - time())/60/60/24);echo "There are ", $daysUtilDate, " until Thanksgiving";
首先,我们开始计算感恩节日期(11月1号之后的第一个星期四之后的第3个星期四),然后我们通过简单的算术,计算出感恩节到当前时间之间的天数。当我们进行比较运算的时候,我们可以使用time(),因为它返回,到当前时间的纪元秒数。