• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP系列学习之日期函数使用介绍_php技巧

php 搞代码 3年前 (2022-01-26) 13次浏览 已收录 0个评论

介绍
  PHP是一门非常令人惊奇的语言。它足够强大(最大的博客(wordpress)的核心语言),它足够广泛(运行在最大社交网站facebook上),它足够简单(作为初学者首选入门语言)。在低成本的机器上运行良好。而且php语言有很多非常不错的服务器套件(如WAMP和MAMP),很方便的安装在你的机器上。PHP有非常丰富的库资源,便于开发者很容易的处理一些业务。由于我们在项目中与日期接触最多,所以今天就从日期函数入手学习。
举一个简单的date例子
我将使用echo命令把内容输出到我们的客户端(浏览器)。我将使用下面的代码做为基础代码。

 <BR> <BR> <BR> <BR><meta charset="utf-8" /> <BR><title>Getting started with dates in php5</title> <BR> <BR><body> <BR><?php <BR>date_default_timezone_set('Asia/Shanghai'); <BR>echo "Today is ",date('l'); <BR>?> <BR> <BR> <BR>


你将在你的浏览器里看到如下的内容。

 <BR>Today is Friday <BR>


这个函数输出星期几的文本格式。date函数至少需要一个字符参数(这个参数告诉我们怎样格式化当前日期)。
尝试不同的格式
如果你看了php手册中PHP date function,那么你将发现有很多格式化日期的方式。

<?php echo "Today is ",date('Y-m-d'); ?> 


将得到
Today is 2012-08-17
有一些日期是很普遍地被使用,所以PHP提供了一些常量供你使用。举例,你可以使用Cookie获取到客户端日期。

 <BR><?php echo "Today is ",date(DATE_COOKIE); ?> <BR>


你将得到如下面的内容

 <BR>Today is Friday, 17-Aug-12 11:34:38 CST <BR>


注意当使用常量的时候不要使用引号。
现在是什么时候?
如果你想要输出当前时间,你能使用date(不同格式化字符参数)。

 <BR><?php echo "The time is ",date('g:i:sa'); ?> <BR>


你将得到
The time is 11:39:59am
本地化你的时区
如果你发现以上的代码没有给出正确的时间,很有可能是因为你的服务器设置了与你本地不同的时区。你需要在服务器上指定时区,那么你用下面的代码:

 <BR><?php date_default_timezone_set('Asia/Shanghai'); ?> <BR>


这个将设置中国上海时区。这是php5的函数(注意旧版本的php),有很多供你选择时区。如果你想永久生效,你可以修改你的php.ini文件。
获取其他时间
你经常需要其他时间,而不是现在的时间。当你用date()函数创建时间的时候,系统会使用Unix系统时间。这个时间表示从1970年1月1日 00:00:00 GMT(Unix 纪元时间),到现在的秒数。
为了详细说明怎样获取指定时间的日期,你可以提供秒数做为date(0函

本文#来源gaodai.ma#com搞##代!^码7网
搞代gaodaima码

数的第二个参数。

 <BR><?php echo "Today is ",date('Y-m-d', 1309133434); ?> <BR>


结果是:
Today is 2011-06-27
这个看起来没什么用途,但它意味着你能用date()函数做计算。这之前,你需要简单的创建一个时间戳。
创建时间戳
有很多创建时间戳的方式。我们能够使用mktime()函数得到我们需要的时间戳。

 <BR><?php <BR>$mytime=mktime(9, 23, 33, 6, 26, 2011); <BR>echo "Today is ",date('Y-m-d g:i:sa', $mytime); <BR>?> <BR>


得到的结果是:
Today is 2011-06-26 9:23:33am
mktime()函数需要你依次传递小时,分钟,秒,月,日,年。这是获取时间戳的好的方式,但是有更酷的方式。
通过字符获取时间戳
你可以使用strtotime()函数获取时间戳,php把可读的字符转换成Unix时间戳。PHP在把字符转换成时间戳方面是相当灵活的,因此你可以插入各种各样的值来获取你想要的时间戳。
这是一个简单例子:

 <BR><?php <BR>$mytime=strtotime("7:50pm June 26 2011"); <BR>echo "Today is ",date('Y-m-d g:i:sa', $mytime); <BR>?> <BR>


输出:
Today is 2011-06-26 7:50:00pm
PHP在解释字符方面是相当灵巧的,但不是完美的,因此,在你插入之前一定要测试你输入的字符。使用”english-like instructions”转化成需要的时间戳,这是一个非常不错的方式。你可以像下面这样做:

 <BR>$nextfriday=strtotime("next Friday"); //下周五 <BR>$nextmonth=strtotime("+1 Month"); //从今天开始计算一个月以后的时间 <BR>$lastchristmas=strtotime("-1 year dec 25"); //去年圣诞节 <BR>


获取日期范围
strtotime返回的值被转换为数字,我们能够用这些数字做基础运算,我们可以用这些数字做很多非常有意思的事情。比如,你每周二需要教一门功课,为期16周,你想得到你教科时间。你能够做下面的事情。

 <BR><?php <BR>$startdate = strtotime('next Tuesday'); <BR>$enddate = strtotime('+16 weeks', $startdate); <BR>$currentdate = $startdate; <BR>echo '<ol>'; <BR>while($currentdate < $enddate): <BR>echo "\t<li>", date('M d', $currentdate); <BR>$currentdate = strtotime('+1 week', $currentdate); <BR>endwhile; <BR>echo '</ol>'; <BR>?> <BR>


你将会得到如下的结果:

 <BR>Aug 21 <BR>Aug 28 <BR>Sep 04 <BR>Sep 11 <BR>Sep 18 <BR>Sep 25 <BR>Oct 02 <BR>Oct 09 <BR>Oct 16 <BR>Oct 23 <BR>Oct 30 <BR>Nov 06 <BR>Nov 13 <BR>Nov 20 <BR>Nov 27 <BR>Dec 04 <BR>


注意一下这行:$currentdate = strtotime(“+1 week”, $currentdate)。在这行,你会发现你需要指定一个时间戳做为第二个参数,strtotime将使用这个参数代替默认时间戳(今天),并进行运算。
到某一个日期的天数
使用计算器的时候,我们会试图去计算到某一天的天数。你很容易计算11月份第四个星期四的时间戳。

 <BR>$someday = strtotime("3 weeks thursday November 1"); <BR>$daysUtilDate = ceil(($someday - time())/60/60/24); <BR>echo "There are ", $daysUtilDate, " until Thanksgiving"; <BR>


首先,我们开始计算感恩节日期(11月1号之后的第一个星期四之后的第3个星期四),然后我们通过简单的算术,计算出感恩节到当前时间之间的天数。当我们进行比较运算的时候,我们可以使用time(),因为它返回,到当前时间的纪元秒数。
情有独钟
如果你开始着手学习php,学习日期是学习这种语言最好的方式,因为日期有很多非常有意思的东西随你处理。在手册中发掘日期和时间相关的函数,请分享你的收获给大家。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP系列学习之日期函数使用介绍_php技巧

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址